hedgewars/GSHandlers.inc
changeset 3768 39947624dabb
parent 3763 2396a2731054
child 3802 2ccfc93c6b5e
--- a/hedgewars/GSHandlers.inc	Wed Aug 25 12:28:37 2010 +0200
+++ b/hedgewars/GSHandlers.inc	Wed Aug 25 21:06:34 2010 +0100
@@ -125,13 +125,17 @@
             Gear^.State := gstDrowning;
             Gear^.RenderTimer := false;
             if (Gear^.Kind <> gtSniperRifleShot) and (Gear^.Kind <> gtShotgunShot) and (Gear^.Kind <> gtDEagleShot) and (Gear^.Kind <> gtSineGunShot) then
-                Gear^.doStep := @doStepDrowningGear;
-            if Gear^.Kind = gtHedgehog then
-            begin
-                Gear^.State := Gear^.State and (not gstHHDriven);
-                AddCaption(Format(GetEventString(eidDrowned), PHedgehog(Gear^.Hedgehog)^.Name),
-                cWhiteColor, capgrpMessage);
-            end;
+                if Gear^.Kind = gtHedgehog then begin
+                    if PHedgehog(Gear^.Hedgehog)^.Effects[heResurrectable] then begin
+                        ResurrectHedgehog(Gear); 
+                    end else begin
+                        Gear^.doStep := @doStepDrowningGear;
+                        Gear^.State := Gear^.State and (not gstHHDriven);
+                        AddCaption(Format(GetEventString(eidDrowned), PHedgehog(Gear^.Hedgehog)^.Name), cWhiteColor, capgrpMessage);
+                    end;
+                end else begin
+                    Gear^.doStep := @doStepDrowningGear;
+                end;
             if hwRound(Gear^.Y) < cWaterLine + 64 + Gear^.Radius then
                 // don't play splash if they are already way past the surface
                 PlaySound(sndSplash)