328 procedure RecountTeamHealth(team: PTeam); |
329 procedure RecountTeamHealth(team: PTeam); |
329 var i: integer; |
330 var i: integer; |
330 begin |
331 begin |
331 with team^ do |
332 with team^ do |
332 begin |
333 begin |
333 TeamHealth:= 0; |
334 TeamHealthBarWidth:= 0; |
334 for i:= 0 to cMaxHHIndex do |
335 for i:= 0 to cMaxHHIndex do |
335 if Hedgehogs[i].Gear <> nil then |
336 if Hedgehogs[i].Gear <> nil then |
336 inc(TeamHealth, Hedgehogs[i].Gear.Health); |
337 inc(TeamHealthBarWidth, Hedgehogs[i].Gear.Health); |
337 if TeamHealth > MaxTeamHealth then |
338 TeamHealth:= TeamHealthBarWidth; |
|
339 if TeamHealthBarWidth > MaxTeamHealth then |
338 begin |
340 begin |
339 MaxTeamHealth:= TeamHealth; |
341 MaxTeamHealth:= TeamHealthBarWidth; |
340 RecountAllTeamsHealth; |
342 RecountAllTeamsHealth; |
341 end else TeamHealth:= (TeamHealth * cTeamHealthWidth) div MaxTeamHealth |
343 end else TeamHealthBarWidth:= (TeamHealthBarWidth * cTeamHealthWidth) div MaxTeamHealth |
342 end; |
344 end; |
343 // FIXME: at the game init, gtTeamHealthSorters are created for each team, and they work simultaneously |
345 // FIXME: at the game init, gtTeamHealthSorters are created for each team, and they work simultaneously |
344 AddGear(0, 0, gtTeamHealthSorter, 0) |
346 AddGear(0, 0, gtTeamHealthSorter, 0) |
345 end; |
347 end; |
346 |
348 |