equal
deleted
inserted
replaced
3045 end; |
3045 end; |
3046 |
3046 |
3047 procedure doStepAirAttack(Gear: PGear); |
3047 procedure doStepAirAttack(Gear: PGear); |
3048 var valid: boolean; |
3048 var valid: boolean; |
3049 HHGear: PGear; |
3049 HHGear: PGear; |
3050 planeY: LongInt; |
|
3051 begin |
3050 begin |
3052 AllInactive := false; |
3051 AllInactive := false; |
3053 |
3052 |
3054 planeY:= topY - 300; |
|
3055 valid:= true; |
3053 valid:= true; |
3056 if (WorldEdge = weBounce) then |
3054 if (WorldEdge = weBounce) then |
3057 if (Gear^.X.QWordValue = 0) and (Gear^.Target.X > rightX) then |
3055 if (Gear^.X.QWordValue = 0) and (Gear^.Target.X > rightX) then |
3058 valid:= false |
3056 valid:= false |
3059 else if (Gear^.X.QWordValue <> 0) and (Gear^.Target.X < leftX) then |
3057 else if (Gear^.X.QWordValue <> 0) and (Gear^.Target.X < leftX) then |
3060 valid:= false |
3058 valid:= false |
3061 else if (Gear^.Target.Y < planeY) then |
3059 else if (Gear^.Target.Y < (topY - 50)) then |
3062 valid:= false; |
3060 valid:= false; |
3063 |
3061 |
3064 if (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Gear <> nil) then |
3062 if (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Gear <> nil) then |
3065 HHGear:= Gear^.Hedgehog^.Gear; |
3063 HHGear:= Gear^.Hedgehog^.Gear; |
3066 |
3064 |
3090 begin |
3088 begin |
3091 Gear^.Tag := -1; |
3089 Gear^.Tag := -1; |
3092 Gear^.X := int2hwFloat(max(LAND_WIDTH,4096) + 2048); |
3090 Gear^.X := int2hwFloat(max(LAND_WIDTH,4096) + 2048); |
3093 end; |
3091 end; |
3094 |
3092 |
3095 Gear^.Y := int2hwFloat(planeY); |
3093 Gear^.Y := int2hwFloat(topY - 300); |
3096 Gear^.dX := int2hwFloat(Gear^.Target.X) - int2hwFloat(Gear^.Tag * (Gear^.Health-1) * Gear^.Damage) / 2; |
3094 Gear^.dX := int2hwFloat(Gear^.Target.X) - int2hwFloat(Gear^.Tag * (Gear^.Health-1) * Gear^.Damage) / 2; |
3097 |
3095 |
3098 // calcs for Napalm Strike, so that it will hit the target (without wind at least :P) |
3096 // calcs for Napalm Strike, so that it will hit the target (without wind at least :P) |
3099 if (Gear^.State = 2) then |
3097 if (Gear^.State = 2) then |
3100 Gear^.dX := Gear^.dX - cBombsSpeed * Gear^.Tag * 900 |
3098 Gear^.dX := Gear^.dX - cBombsSpeed * Gear^.Tag * 900 |