diff -r 18a620394623 -r c22dd112c958 hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sun Jun 24 22:37:44 2012 +0400 +++ b/hedgewars/GSHandlers.inc Sun Jun 24 18:21:12 2012 -0400 @@ -4753,7 +4753,7 @@ //////////////////////////////////////////////////////////////////////////////// procedure doStepFlamethrowerWork(Gear: PGear); var - HHGear: PGear; + HHGear, flame: PGear; rx, ry, speed: hwFloat; i, gX, gY: LongInt; begin @@ -4791,14 +4791,18 @@ ry := rndSign(getRandomf * _0_1); speed := _0_5 * (_10 / Gear^.Tag); - AddGear(gx, gy, gtFlame, gstTmpFlag, + flame:= AddGear(gx, gy, gtFlame, gstTmpFlag, SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); + flame^.CollisionMask:= $FF7F; if (Gear^.Health mod 30) = 0 then - AddGear(gx, gy, gtFlame, 0, + begin + flame:= AddGear(gx, gy, gtFlame, 0, SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); + flame^.CollisionMask:= $FF7F; + end end; Gear^.Timer:= Gear^.Tag end; @@ -4834,7 +4838,7 @@ //////////////////////////////////////////////////////////////////////////////// procedure doStepLandGunWork(Gear: PGear); var - HHGear: PGear; + HHGear, land: PGear; rx, ry, speed: hwFloat; i, gX, gY: LongInt; begin @@ -4871,9 +4875,10 @@ ry := rndSign(getRandomf * _0_1); speed := (_3 / Gear^.Tag); - AddGear(gx, gy, gtFlake, gstTmpFlag, + land:= AddGear(gx, gy, gtFlake, gstTmpFlag, SignAs(AngleSin(HHGear^.Angle) * speed, HHGear^.dX) + rx, AngleCos(HHGear^.Angle) * ( - speed) + ry, 0); + land^.CollisionMask:= $FF7F; Gear^.Timer:= Gear^.Tag end;