equal
deleted
inserted
replaced
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) |