2129 vgt: PVisualGear; |
2129 vgt: PVisualGear; |
2130 tdX,tdY: HWFloat; |
2130 tdX,tdY: HWFloat; |
2131 landPixel: Word; |
2131 landPixel: Word; |
2132 begin |
2132 begin |
2133 WorldWrap(Gear); |
2133 WorldWrap(Gear); |
|
2134 if Gear^.FlightTime > 0 then dec(Gear^.FlightTime); |
2134 sticky:= (Gear^.State and gsttmpFlag) <> 0; |
2135 sticky:= (Gear^.State and gsttmpFlag) <> 0; |
2135 if not sticky then AllInactive := false; |
2136 if not sticky then AllInactive := false; |
2136 |
2137 |
2137 landPixel:= TestCollisionYwithGear(Gear, 1); |
2138 landPixel:= TestCollisionYwithGear(Gear, 1); |
2138 if landPixel = 0 then |
2139 if landPixel = 0 then |
2139 begin |
2140 begin |
2140 AllInactive := false; |
2141 AllInactive := false; |
2141 |
2142 |
2142 if GameTicks and $F = 0 then |
2143 if (GameTicks and $F = 0) and (Gear^.FlightTime = 0) then |
2143 begin |
2144 begin |
2144 Gear^.Radius := 7; |
2145 Gear^.Radius := 7; |
2145 tdX:= Gear^.dX; |
2146 tdX:= Gear^.dX; |
2146 tdY:= Gear^.dY; |
2147 tdY:= Gear^.dY; |
2147 Gear^.dX.QWordValue:= 120000000; |
2148 Gear^.dX.QWordValue:= 120000000; |
4767 |
4768 |
4768 flame:= AddGear(gx, gy, gtFlame, gstTmpFlag, |
4769 flame:= AddGear(gx, gy, gtFlame, gstTmpFlag, |
4769 SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, |
4770 SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, |
4770 AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); |
4771 AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); |
4771 flame^.CollisionMask:= lfNotCurrentMask; |
4772 flame^.CollisionMask:= lfNotCurrentMask; |
|
4773 flame^.FlightTime:= 500; |
4772 |
4774 |
4773 if (Gear^.Health mod 30) = 0 then |
4775 if (Gear^.Health mod 30) = 0 then |
4774 begin |
4776 begin |
4775 flame:= AddGear(gx, gy, gtFlame, 0, |
4777 flame:= AddGear(gx, gy, gtFlame, 0, |
4776 SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, |
4778 SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, |
4777 AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); |
4779 AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); |
4778 flame^.CollisionMask:= lfNotCurrentMask; |
4780 flame^.CollisionMask:= lfNotCurrentMask; |
|
4781 flame^.FlightTime:= 500; |
4779 end |
4782 end |
4780 end; |
4783 end; |
4781 Gear^.Timer:= Gear^.Tag |
4784 Gear^.Timer:= Gear^.Tag |
4782 end; |
4785 end; |
4783 |
4786 |