hedgewars/uVisualGearsHandlers.pas
changeset 13140 e330feceb662
parent 12312 83131d0e747b
child 13235 9f5023a5f9e1
equal deleted inserted replaced
13139:674b76f2d64a 13140:e330feceb662
   559     end
   559     end
   560 end;
   560 end;
   561 
   561 
   562 procedure doStepTeamHealthSorter(Gear: PVisualGear; Steps: Longword);
   562 procedure doStepTeamHealthSorter(Gear: PVisualGear; Steps: Longword);
   563 var i: Longword;
   563 var i: Longword;
   564     b: boolean;
   564     b, noHogs: boolean;
   565     t, h: LongInt;
   565     t, h: LongInt;
   566 begin
   566 begin
   567 {$IFNDEF PAS2C}
   567 {$IFNDEF PAS2C}
   568 Steps:= Steps; // avoid compiler hint
   568 Steps:= Steps; // avoid compiler hint
   569 {$ENDIF}
   569 {$ENDIF}
   604     until b;
   604     until b;
   605 
   605 
   606 t:= - 4;
   606 t:= - 4;
   607 for i:= 0 to Pred(TeamsCount) do
   607 for i:= 0 to Pred(TeamsCount) do
   608         with thexchar[i] do
   608         with thexchar[i] do
   609           if team^.TeamHealth > 0 then
   609           begin
       
   610           noHogs:= true;
       
   611           for h:= 0 to cMaxHHIndex do
       
   612               // Check if all hogs are hidden
       
   613               if team^.Hedgehogs[h].Gear <> nil then
       
   614                   noHogs:= false;
       
   615           // Skip team bar if all hogs are dead or hidden
       
   616           if (team^.TeamHealth > 0) and (noHogs = false) then
   610             begin
   617             begin
   611             dec(t, team^.Clan^.HealthTex^.h + 2);
   618             dec(t, team^.Clan^.HealthTex^.h + 2);
   612             ny:= t;
   619             ny:= t;
   613             dy:= dy - ny
   620             dy:= dy - ny
   614             end;
   621             end;
       
   622           end;
   615 
   623 
   616 Gear^.Timer:= cSorterWorkTime;
   624 Gear^.Timer:= cSorterWorkTime;
   617 Gear^.doStep:= @doStepTeamHealthSorterWork;
   625 Gear^.doStep:= @doStepTeamHealthSorterWork;
   618 currsorter:= Gear;
   626 currsorter:= Gear;
   619 //doStepTeamHealthSorterWork(Gear, Steps)
   627 //doStepTeamHealthSorterWork(Gear, Steps)