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; |