4768 |
4768 |
4769 flame:= AddGear(gx, gy, gtFlame, gstTmpFlag, |
4769 flame:= AddGear(gx, gy, gtFlame, gstTmpFlag, |
4770 SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, |
4770 SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, |
4771 AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); |
4771 AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); |
4772 flame^.CollisionMask:= lfNotCurrentMask; |
4772 flame^.CollisionMask:= lfNotCurrentMask; |
4773 flame^.FlightTime:= 500; |
4773 //flame^.FlightTime:= 500; use the default huge value to avoid sticky flame suddenly being damaging as opposed to other flames |
4774 |
4774 |
4775 if (Gear^.Health mod 30) = 0 then |
4775 if (Gear^.Health mod 30) = 0 then |
4776 begin |
4776 begin |
4777 flame:= AddGear(gx, gy, gtFlame, 0, |
4777 flame:= AddGear(gx, gy, gtFlame, 0, |
4778 SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, |
4778 SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, |
4779 AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); |
4779 AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); |
4780 flame^.CollisionMask:= lfNotCurrentMask; |
4780 flame^.CollisionMask:= lfNotCurrentMask; |
4781 flame^.FlightTime:= 500; |
4781 //flame^.FlightTime:= 500; |
4782 end |
4782 end |
4783 end; |
4783 end; |
4784 Gear^.Timer:= Gear^.Tag |
4784 Gear^.Timer:= Gear^.Tag |
4785 end; |
4785 end; |
4786 |
4786 |