diff -r 40b7f95d9f18 -r 5fb06333314e hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sun Aug 07 22:27:57 2011 +0400 +++ b/hedgewars/GSHandlers.inc Sun Aug 07 14:29:11 2011 -0400 @@ -2942,10 +2942,26 @@ //////////////////////////////////////////////////////////////////////////////// procedure doStepSeductionWork(Gear: PGear); var - x, y: LongInt; + x, y, i: LongInt; + hogs: TPGearArray; + d: hwFloat; begin AllInactive := false; - + hogs := GearsNear(Gear^.X, Gear^.Y, gtHedgehog, Gear^.Radius); + if Length(hogs) > 0 then + begin + for i:= 0 to High(hogs) do + begin + //d:= Distance(Gear^.X - hogs[i]^.X, Gear^.Y - hogs[i]^.Y); + hogs[i]^.dX:= _0_25 * (Gear^.X - hogs[i]^.X) / _250; + //if Gear^.X < hogs[i]^.X then hogs[i]^.dX.isNegative:= true; + hogs[i]^.dY:= -_0_25; + hogs[i]^.Active:= true; + end; + end ; + AfterAttack; + DeleteGear(Gear); +(* Gear^.X := Gear^.X + Gear^.dX; Gear^.Y := Gear^.Y + Gear^.dY; x := hwRound(Gear^.X); @@ -2967,7 +2983,7 @@ begin AfterAttack; DeleteGear(Gear) - end + end*) end; procedure doStepSeductionWear(Gear: PGear); @@ -2989,7 +3005,7 @@ procedure doStepSeduction(Gear: PGear); begin AllInactive := false; - DeleteCI(Gear^.Hedgehog^.Gear); + //DeleteCI(Gear^.Hedgehog^.Gear); Gear^.doStep := @doStepSeductionWear end;