diff -r 45817d8386c7 -r e45410eae9ea hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Fri Feb 19 00:51:37 2010 +0000 +++ b/hedgewars/GSHandlers.inc Fri Feb 19 00:53:22 2010 +0000 @@ -458,6 +458,7 @@ procedure doStepShotgunShot(Gear: PGear); var i: LongWord; + shell: PVisualGear; begin AllInactive:= false; @@ -467,6 +468,10 @@ if Gear^.Timer = 0 then begin PlaySound(sndShotgunFire); + shell:= AddVisualGear(hwRound(Gear^.x), hwRound(Gear^.y), vgtShell); + shell^.dX:= gear^.dX / -4; + shell^.dY:= gear^.dY / -4; + shell^.Frame:= 0; Gear^.State:= Gear^.State or gstAnimation end; exit @@ -542,6 +547,7 @@ procedure doStepSniperRifleShot(Gear: PGear); var HHGear: PGear; + shell: PVisualGear; begin cArtillery:= true; HHGear:=PHedgehog(Gear^.Hedgehog)^.Gear; @@ -556,7 +562,11 @@ if (HHGear^.Message and gm_Attack) <> 0 then begin - Gear^.State:= Gear^.State or gstAnimation; + shell:= AddVisualGear(hwRound(Gear^.x), hwRound(Gear^.y), vgtShell); + shell^.dX:= gear^.dX / -2; + shell^.dY:= gear^.dY / -2; + shell^.Frame:= 1; + Gear^.State:= Gear^.State or gstAnimation; Gear^.dX:= SignAs(AngleSin(HHGear^.Angle), HHGear^.dX) * _0_5; Gear^.dY:= -AngleCos(HHGear^.Angle) * _0_5; PlaySound(sndGun);