2074 doStepParachuteWork(Gear) |
2074 doStepParachuteWork(Gear) |
2075 end; |
2075 end; |
2076 |
2076 |
2077 //////////////////////////////////////////////////////////////////////////////// |
2077 //////////////////////////////////////////////////////////////////////////////// |
2078 procedure doStepAirAttackWork(Gear: PGear); |
2078 procedure doStepAirAttackWork(Gear: PGear); |
2079 //var |
|
2080 // i: Longint; |
|
2081 begin |
2079 begin |
2082 AllInactive := false; |
2080 AllInactive := false; |
2083 Gear^.X := Gear^.X + cAirPlaneSpeed * Gear^.Tag; |
2081 Gear^.X := Gear^.X + cAirPlaneSpeed * Gear^.Tag; |
2084 |
2082 |
2085 if (Gear^.Health > 0)and(not (Gear^.X < Gear^.dX))and(Gear^.X < Gear^.dX + cAirPlaneSpeed) then |
2083 if (Gear^.Health > 0)and(not (Gear^.X < Gear^.dX))and(Gear^.X < Gear^.dX + cAirPlaneSpeed) then |
2090 Gear^.Tag, _0, 0); |
2088 Gear^.Tag, _0, 0); |
2091 1: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMine, 0, cBombsSpeed * |
2089 1: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMine, 0, cBombsSpeed * |
2092 Gear^.Tag, _0, 0); |
2090 Gear^.Tag, _0, 0); |
2093 2: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtNapalmBomb, 0, cBombsSpeed * |
2091 2: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtNapalmBomb, 0, cBombsSpeed * |
2094 Gear^.Tag, _0, 0); |
2092 Gear^.Tag, _0, 0); |
2095 //2: for i:= -19 to 19 do |
|
2096 // FollowGear := AddGear(hwRound(Gear^.X) + i div 3, hwRound(Gear^.Y), gtFlame, 0, |
|
2097 // _0_001 * i, _0, 0); |
|
2098 3: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtDrill, gsttmpFlag, cBombsSpeed * |
2093 3: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtDrill, gsttmpFlag, cBombsSpeed * |
2099 Gear^.Tag, _0, 0); |
2094 Gear^.Tag, _0, 0); |
2100 //4: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtWaterMelon, 0, cBombsSpeed * |
2095 //4: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtWaterMelon, 0, cBombsSpeed * |
2101 // Gear^.Tag, _0, 5000); |
2096 // Gear^.Tag, _0, 5000); |
2102 end; |
2097 end; |
2125 end; |
2120 end; |
2126 |
2121 |
2127 Gear^.Y := int2hwFloat(topY-300); |
2122 Gear^.Y := int2hwFloat(topY-300); |
2128 Gear^.dX := int2hwFloat(TargetPoint.X - 5 * Gear^.Tag * 15); |
2123 Gear^.dX := int2hwFloat(TargetPoint.X - 5 * Gear^.Tag * 15); |
2129 |
2124 |
2130 if (int2hwFloat(TargetPoint.Y) - Gear^.Y > _0) then //and (Gear^.State <> 2) then |
2125 if (int2hwFloat(TargetPoint.Y) - Gear^.Y > _0) then |
2131 Gear^.dX := Gear^.dX - cBombsSpeed * hwSqrt((int2hwFloat(TargetPoint.Y) - Gear^.Y) * 2 / |
2126 Gear^.dX := Gear^.dX - cBombsSpeed * hwSqrt((int2hwFloat(TargetPoint.Y) - Gear^.Y) * 2 / |
2132 cGravity) * Gear^.Tag; |
2127 cGravity) * Gear^.Tag; |
2133 |
2128 |
2134 Gear^.Health := 6; |
2129 Gear^.Health := 6; |
2135 Gear^.doStep := @doStepAirAttackWork; |
2130 Gear^.doStep := @doStepAirAttackWork; |