hedgewars/uTeams.pas
changeset 557 a7d49d5e8257
parent 553 5478386d935f
child 576 35a1af355ada
equal deleted inserted replaced
556:49675457d76e 557:a7d49d5e8257
    53              CrosshairSurf: PSDL_Surface;
    53              CrosshairSurf: PSDL_Surface;
    54              GraveRect, HealthRect: TSDL_Rect;
    54              GraveRect, HealthRect: TSDL_Rect;
    55              GraveName: string;
    55              GraveName: string;
    56              FortName: string;
    56              FortName: string;
    57              TeamHealth: LongInt;
    57              TeamHealth: LongInt;
    58              TeamHealthBarWidth: LongInt;
    58              TeamHealthBarWidth,
       
    59              NewTeamHealthBarWidth: LongInt;
    59              DrawHealthY: LongInt;
    60              DrawHealthY: LongInt;
    60              AttackBar: LongWord;
    61              AttackBar: LongWord;
    61              HedgehogsNumber: Longword;
    62              HedgehogsNumber: Longword;
    62              end;
    63              end;
    63      TClan = record
    64      TClan = record
   291 procedure RecountTeamHealth(team: PTeam);
   292 procedure RecountTeamHealth(team: PTeam);
   292 var i: LongInt;
   293 var i: LongInt;
   293 begin
   294 begin
   294 with team^ do
   295 with team^ do
   295      begin
   296      begin
   296      TeamHealthBarWidth:= 0;
   297      NewTeamHealthBarWidth:= 0;
   297      for i:= 0 to cMaxHHIndex do
   298      for i:= 0 to cMaxHHIndex do
   298          if Hedgehogs[i].Gear <> nil then
   299          if Hedgehogs[i].Gear <> nil then
   299             inc(TeamHealthBarWidth, Hedgehogs[i].Gear^.Health);
   300             inc(NewTeamHealthBarWidth, Hedgehogs[i].Gear^.Health);
   300      TeamHealth:= TeamHealthBarWidth;
   301      TeamHealth:= NewTeamHealthBarWidth;
   301      if TeamHealthBarWidth > MaxTeamHealth then
   302      if NewTeamHealthBarWidth > MaxTeamHealth then
   302         begin
   303         begin
   303         MaxTeamHealth:= TeamHealthBarWidth;
   304         MaxTeamHealth:= NewTeamHealthBarWidth;
   304         RecountAllTeamsHealth;
   305         RecountAllTeamsHealth;
   305         end else TeamHealthBarWidth:= (TeamHealthBarWidth * cTeamHealthWidth) div MaxTeamHealth
   306         end else NewTeamHealthBarWidth:= (NewTeamHealthBarWidth * cTeamHealthWidth) div MaxTeamHealth
   306      end;
   307      end;
   307 
   308 
   308 RecountClanHealth(team^.Clan);
   309 RecountClanHealth(team^.Clan);
   309 
   310 
   310 // FIXME: at the game init, gtTeamHealthSorters are created for each team, and they work simultaneously
       
   311 AddGear(0, 0, gtTeamHealthSorter, 0, _0, _0, 0)
   311 AddGear(0, 0, gtTeamHealthSorter, 0, _0, _0, 0)
   312 end;
   312 end;
   313 
   313 
   314 procedure RestoreTeamsFromSave;
   314 procedure RestoreTeamsFromSave;
   315 var t: LongInt;
   315 var t: LongInt;