hedgewars/uTeams.pas
changeset 92 0c359a7a2356
parent 89 f9db56409a86
child 95 1ef5e2c41115
equal deleted inserted replaced
91:5688d2141464 92:0c359a7a2356
    79 procedure OnUsedAmmo(Ammo: PHHAmmo);
    79 procedure OnUsedAmmo(Ammo: PHHAmmo);
    80 function  HHHasAmmo(Hedgehog: PHedgehog; Ammo: TAmmoType): boolean;
    80 function  HHHasAmmo(Hedgehog: PHedgehog; Ammo: TAmmoType): boolean;
    81 function  TeamSize(p: PTeam): Longword;
    81 function  TeamSize(p: PTeam): Longword;
    82 procedure RecountTeamHealth(team: PTeam);
    82 procedure RecountTeamHealth(team: PTeam);
    83 procedure RestoreTeamsFromSave;
    83 procedure RestoreTeamsFromSave;
    84 procedure CheckForWin;
    84 function CheckForWin: boolean;
    85 
    85 
    86 implementation
    86 implementation
    87 uses uMisc, uStore, uWorld, uIO, uAI, uLocale;
    87 uses uMisc, uStore, uWorld, uIO, uAI, uLocale;
    88 const MaxTeamHealth: integer = 0;
    88 const MaxTeamHealth: integer = 0;
    89 
    89 
    90 procedure FreeTeamsList; forward;
    90 procedure FreeTeamsList; forward;
    91 
    91 
    92 procedure CheckForWin;
    92 function CheckForWin: boolean;
    93 var team, AliveTeam: PTeam;
    93 var team, AliveTeam: PTeam;
    94     AliveCount: Longword;
    94     AliveCount: Longword;
    95 begin
    95 begin
       
    96 Result:= false;
    96 AliveCount:= 0;
    97 AliveCount:= 0;
    97 AliveTeam:= nil;
    98 AliveTeam:= nil;
    98 team:= TeamsList;
    99 team:= TeamsList;
    99 while team <> nil do
   100 while team <> nil do
   100       begin
   101       begin
   105          end;
   106          end;
   106       team:= team.Next
   107       team:= team.Next
   107       end;
   108       end;
   108 
   109 
   109 if AliveCount >= 2 then exit;
   110 if AliveCount >= 2 then exit;
       
   111 Result:= true;
   110 
   112 
   111 TurnTimeLeft:= 0;
   113 TurnTimeLeft:= 0;
   112 if AliveCount = 0 then
   114 if AliveCount = 0 then
   113    begin // draw
   115    begin // draw
   114    AddCaption(trmsg[sidDraw], $FFFFFF, capgrpGameState);
   116    AddCaption(trmsg[sidDraw], $FFFFFF, capgrpGameState);