hedgewars/uGears.pas
changeset 2759 03988f64e146
parent 2758 033aa644578f
child 2760 420fe0344e5f
equal deleted inserted replaced
2758:033aa644578f 2759:03988f64e146
   424 AddGear:= gear;
   424 AddGear:= gear;
   425 end;
   425 end;
   426 
   426 
   427 procedure DeleteGear(Gear: PGear);
   427 procedure DeleteGear(Gear: PGear);
   428 var team: PTeam;
   428 var team: PTeam;
   429 	t,i: Longword;
   429 	t,i,k: Longword;
   430     k: boolean;
       
   431 begin
   430 begin
   432 DeleteCI(Gear);
   431 DeleteCI(Gear);
   433 
   432 
   434 if Gear^.Tex <> nil then
   433 if Gear^.Tex <> nil then
   435 	begin
   434 	begin
   459 			FreeActionsList; // to avoid ThinkThread on drawned gear
   458 			FreeActionsList; // to avoid ThinkThread on drawned gear
   460 
   459 
   461         if PHedgehog(Gear^.Hedgehog)^.King then
   460         if PHedgehog(Gear^.Hedgehog)^.King then
   462             begin
   461             begin
   463             // are there any other kings left? Just doing nil check.  Presumably a mortally wounded king will get reaped soon enough
   462             // are there any other kings left? Just doing nil check.  Presumably a mortally wounded king will get reaped soon enough
   464             k:= false;
   463             k:= 0;
   465             for i:= 0 to Pred(team^.Clan^.TeamsNumber) do
   464             for i:= 0 to Pred(team^.Clan^.TeamsNumber) do
   466                 if (team^.Clan^.Teams[i]^.Hedgehogs[0].Gear <> nil) then k:= true;
   465                 if (team^.Clan^.Teams[i]^.Hedgehogs[0].Gear <> nil) then inc(k);
   467             if not k then
   466             if k < 2 then // current dying king is count of 1
   468                 for i:= 0 to Pred(team^.Clan^.TeamsNumber) do
   467                 for i:= 0 to Pred(team^.Clan^.TeamsNumber) do
   469                     TeamGoneEffect(team^.Clan^.Teams[i]^)
   468                     TeamGoneEffect(team^.Clan^.Teams[i]^)
   470             end;
   469             end;
   471 
   470 
   472 		PHedgehog(Gear^.Hedgehog)^.Gear:= nil;
   471 		PHedgehog(Gear^.Hedgehog)^.Gear:= nil;