# HG changeset patch # User nemo # Date 1314969943 14400 # Node ID a81fc23356e7102b9defd890967ef51c3c761eea # Parent ddbb20092cb05761a8463cbee52f54231d0864f4 that was just getting me into trouble diff -r ddbb20092cb0 -r a81fc23356e7 hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Fri Sep 02 08:16:34 2011 -0400 +++ b/hedgewars/GSHandlers.inc Fri Sep 02 09:25:43 2011 -0400 @@ -4940,10 +4940,13 @@ HH^.GearHidden:= HH^.Gear; HH^.Gear:= nil end - else if (HH^.Gear <> nil) and (HH^.Gear^.State and gstInvisible <> 0) then + //else if (HH^.Gear <> nil) and (HH^.Gear^.State and gstInvisible <> 0) then + else if (HH^.GearHidden <> nil) then// and (HH^.Gear^.State and gstInvisible <> 0) then begin + HH^.Gear:=HH^.GearHidden; + HH^.GearHidden:= nil; InsertGearToList(HH^.Gear); - HH^.Gear^.State:= HH^.Gear^.State and not (gstHHDriven or gstInvisible); + HH^.Gear^.State:= (HH^.Gear^.State and not (gstHHDriven or gstInvisible or gstAttacking)) or gstAttacked; AddGearCI(HH^.Gear); HH^.Gear^.Active:= true end; @@ -4991,11 +4994,11 @@ if HH^.GearHidden <> nil then FindPlace(HH^.GearHidden, false, 0, LAND_WIDTH,true); if HH^.GearHidden <> nil then begin - HH^.Gear:=HH^.GearHidden; - HH^.GearHidden:= nil; - HH^.Gear^.State:= HH^.Gear^.State or gstInvisible; - Gear^.X:= HH^.Gear^.X; - Gear^.Y:= HH^.Gear^.Y; + 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 end else dec(Gear^.Timer);