diff -r 8de77872ef21 -r 1ffb84b3823d hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sat Oct 30 21:43:41 2010 +0200 +++ b/hedgewars/GSHandlers.inc Sat Oct 30 21:57:54 2010 +0200 @@ -4113,15 +4113,15 @@ Gear^.Y := Gear^.Y - _1; end; - graves := GearsNear(hh^.Gear, gtGrave, Gear^.Radius); - - if Length(graves) = 0 then - begin + graves := GearsNear(hh^.Gear^.X, hh^.Gear^.Y + int2hwFloat(Gear^.Power), + gtGrave, Gear^.Radius); + + if Length(graves) = 0 then begin StopSound(Gear^.SoundChannel); Gear^.Timer := 250; Gear^.doStep := @doStepIdle; exit; - end; + end; if ((Gear^.Message and gmAttack) <> 0) and (hh^.Gear^.Health > 0) then begin i := getRandom(Length(graves)); @@ -4170,7 +4170,7 @@ begin AllInactive := false; hh := PHedgehog(Gear^.Hedgehog); - graves := GearsNear(hh^.Gear, gtGrave, Gear^.Radius); + graves := GearsNear(hh^.Gear^.X, hh^.Gear^.Y, gtGrave, Gear^.Radius); if Length(graves) > 0 then begin for i:= 0 to High(graves) do begin