hedgewars/GSHandlers.inc
changeset 2955 fb361d137524
parent 2948 3f21a9dc93d0
child 2963 0f0789204802
--- a/hedgewars/GSHandlers.inc	Sat Mar 06 13:45:25 2010 +0000
+++ b/hedgewars/GSHandlers.inc	Sat Mar 06 13:49:55 2010 +0000
@@ -1256,7 +1256,8 @@
     AllInactive:= false;
     if not Gear^.dY.isNegative and (Gear^.dY > _0_03) and TestCollisionYwithGear(Gear, 1) then
         begin
-        inc(Gear^.Damage, hwRound(Gear^.dY * _30));
+        Gear^.State:= Gear^.State or gsttmpFlag;
+        inc(Gear^.Damage, hwRound(Gear^.dY * _40));
         for i:= min(12, hwRound(Gear^.dY*_10)) downto 0 do 
             begin
             particle:= AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12, vgtDust);
@@ -1264,11 +1265,11 @@
             end
         end
     else if not Gear^.dX.isNegative and (Gear^.dX > _0_03) and TestCollisionXwithGear(Gear, 1) then
-        inc(Gear^.Damage, hwRound(Gear^.dX * _30))
+        inc(Gear^.Damage, hwRound(Gear^.dX * _40))
     else if Gear^.dY.isNegative and (Gear^.dY < -_0_03) and TestCollisionYwithGear(Gear, -1) then
-        inc(Gear^.Damage, hwRound(Gear^.dY * -_30))
+        inc(Gear^.Damage, hwRound(Gear^.dY * -_40))
     else if Gear^.dX.isNegative and (Gear^.dX < -_0_03) and TestCollisionXwithGear(Gear, -1) then
-        inc(Gear^.Damage, hwRound(Gear^.dX * -_30));
+        inc(Gear^.Damage, hwRound(Gear^.dX * -_40));
     if Gear^.Damage <> 0 then PlaySound(sndGraveImpact);
     doStepFallingGear(Gear);
     CalcRotationDirAngle(Gear);
@@ -1376,7 +1377,7 @@
     if (not Gear^.dY.isNegative) and TestCollisionYwithGear(Gear, 1) then
         begin
         if (Gear^.dY > _0_02) and (k = gtExplosives) then
-            inc(Gear^.Damage, hwRound(Gear^.dY * _30));
+            inc(Gear^.Damage, hwRound(Gear^.dY * _40));
 
         if Gear^.dY > _0_2 then
             for i:= min(12, hwRound(Gear^.dY*_10)) downto 0 do