diff -r 44b063166bb2 -r add1cae1add6 hedgewars/HHHandlers.inc --- 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