hedgewars/HHHandlers.inc
changeset 5972 add1cae1add6
parent 5965 e529b28d10e9
child 5977 0b1bfdd95310
--- a/hedgewars/HHHandlers.inc	Tue Sep 20 12:59:02 2011 -0400
+++ b/hedgewars/HHHandlers.inc	Tue Sep 20 13:27:07 2011 -0400
@@ -482,15 +482,16 @@
     AllInactive:= false;
     dec(Gear^.Timer);
     if (Gear^.Timer mod frametime) = 0 then inc(Gear^.Pos)
-    end else
-if Gear^.Timer = 1 then
+    end 
+else if Gear^.Timer = 1 then
     begin
     Gear^.State:= Gear^.State or gstNoDamage;
     doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, CurrentHedgehog, EXPLAutoSound);
     AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtGrave, 0, _0, _0, 0)^.Hedgehog:= Gear^.Hedgehog;
     DeleteGear(Gear);
     SetAllToActive
-    end else // Gear^.Timer = 0
+    end 
+else // Gear^.Timer = 0
     begin
     AllInactive:= false;
     Gear^.Z:= cCurrHHZ;
@@ -1043,12 +1044,14 @@
             Gear^.Hedgehog^.Effects[hePoisoned] := false;
             if Gear^.Hedgehog^.Effects[heResurrectable] then begin
                 ResurrectHedgehog(Gear);
-            end else begin
-                Gear^.State:= Gear^.State or gstHHDeath;
+            end else 
+                begin
+                Gear^.State:= (Gear^.State or gstHHDeath) and not gstAnimation;
+                Gear^.Timer:= 0;
                 Gear^.doStep:= @doStepHedgehogDead;
                 // Death message
                 AddCaption(Format(GetEventString(eidDied), Gear^.Hedgehog^.Name), cWhiteColor, capgrpMessage);
-            end;
+                end;
             end
         else
             begin