diff -r 7989850b4418 -r c9ca770fd7fc hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Thu May 17 20:23:58 2012 -0400 +++ b/hedgewars/GSHandlers.inc Fri May 18 13:35:22 2012 -0400 @@ -5346,14 +5346,8 @@ and ((HH^.Team^.Clan^.Teams[j]^.Hedgehogs[i].Gear^.State and gstDrowning) = 0) and (HH^.Team^.Clan^.Teams[j]^.Hedgehogs[i].Gear^.Health > HH^.Team^.Clan^.Teams[j]^.Hedgehogs[i].Gear^.Damage) then inc(cnt); - if (cnt = 0) or SuddenDeathDmg or (Gear^.Timer = 0) then begin - Gear^.SoundChannel := LoopSound(sndTardis); - Gear^.Pos:= 1; - Gear^.Power:= 0; - Gear^.Timer:= 0; - if HH^.GearHidden <> nil then FindPlace(HH^.GearHidden, false, 0, LAND_WIDTH,true); @@ -5361,9 +5355,19 @@ begin Gear^.X:= HH^.GearHidden^.X; Gear^.Y:= HH^.GearHidden^.Y; - //HH^.Gear:=HH^.GearHidden; - //HH^.GearHidden:= nil; - //HH^.Gear^.State:= HH^.Gear^.State or gstInvisible; + end; + Gear^.Timer:= 0; + + if (HH^.GearHidden <> nil) and (cnt = 0) then // do an emergency jump back in this case. the team needs you! + begin + AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtExplosion); + Gear^.Pos:= 2; + Gear^.Power:= 255; + end + else begin + Gear^.SoundChannel := LoopSound(sndTardis); + Gear^.Pos:= 1; + Gear^.Power:= 0; end end else dec(Gear^.Timer);