--- a/hedgewars/GSHandlers.inc Sat Jul 08 21:40:03 2006 +0000
+++ b/hedgewars/GSHandlers.inc Tue Jul 11 21:04:05 2006 +0000
@@ -73,7 +73,7 @@
begin
AllInactive:= false;
Gear.Y:= Gear.Y + cDrownSpeed;
-if round(Gear.Y) > Gear.Radius + cWaterLine + 48 + cVisibleWater then DeleteGear(Gear)
+if round(Gear.Y) > Gear.Radius + cWaterLine + cVisibleWater then DeleteGear(Gear)
end;
////////////////////////////////////////////////////////////////////////////////
@@ -252,9 +252,10 @@
CheckCollision(Gear);
if (Gear.State and gstCollision) <> 0 then
begin
- AmmoShove(Gear, 25);
+ AmmoShove(Gear, 25, 25);
doMakeExplosion(round(Gear.X), round(Gear.Y), 25, EXPLNoDamage or EXPLDoNotTouchHH);
DeleteGear(Gear);
+ AfterAttack;
exit
end;
dec(i)
@@ -279,7 +280,7 @@
y:= round(Gear.Y);
if ((y and $FFFFFC00) = 0) and ((x and $FFFFF800) = 0)
and (Land[y, x] <> 0) then inc(Gear.Damage);
- AmmoShove(Gear, 12);
+ AmmoShove(Gear, 7, 20);
dec(i)
until (i = 0) or (Gear.Damage > Gear.Health);
if Gear.Damage > 0 then
@@ -491,9 +492,9 @@
HHGear.dY:= HHGear.Y - HHGear.dY;
if TestCollisionXwithGear(HHGear, Sign(HHGear.dX)) then
- HHGear.dX:= -0.9 * HHGear.dX;
+ HHGear.dX:= -0.6 * HHGear.dX;
if TestCollisionYwithGear(HHGear, Sign(HHGear.dY)) then
- HHGear.dY:= -0.9 * HHGear.dY;
+ HHGear.dY:= -0.6 * HHGear.dY;
if (Gear.Message and gm_Attack) <> 0 then
if (Gear.State and gsttmpFlag) <> 0 then DeleteMe else