583 |
583 |
584 while Gear <> nil do |
584 while Gear <> nil do |
585 begin |
585 begin |
586 if Gear^.Kind = gtHedgehog then |
586 if Gear^.Kind = gtHedgehog then |
587 begin |
587 begin |
588 if PHedgehog(Gear^.Hedgehog)^.Poisoned then |
588 if PHedgehog(Gear^.Hedgehog)^.Poisoned then |
589 inc(Gear^.Damage, min(5, max(0,Gear^.Health - 1 - Gear^.Damage))); |
589 inc(Gear^.Damage, min(5, max(0,Gear^.Health - 1 - Gear^.Damage))); |
590 inc(Gear^.Damage, min(cHealthDecrease, max(0,Gear^.Health - 1 - Gear^.Damage))); |
590 inc(Gear^.Damage, min(cHealthDecrease, max(0,Gear^.Health - 1 - Gear^.Damage))); |
591 if PHedgehog(Gear^.Hedgehog)^.King then |
591 if PHedgehog(Gear^.Hedgehog)^.King then |
592 begin |
592 begin |
593 flag:= false; |
593 flag:= false; |
594 team:= PHedgehog(Gear^.Hedgehog)^.Team; |
594 team:= PHedgehog(Gear^.Hedgehog)^.Team; |
595 for i:= 0 to Pred(team^.HedgehogsNumber) do |
595 for i:= 0 to Pred(team^.HedgehogsNumber) do |
596 if (team^.Hedgehogs[i].Gear <> nil) and |
596 if (team^.Hedgehogs[i].Gear <> nil) and |
597 (not team^.Hedgehogs[i].King) and |
597 (not team^.Hedgehogs[i].King) and |
598 (team^.Hedgehogs[i].Gear^.Health > team^.Hedgehogs[i].Gear^.Damage) |
598 (team^.Hedgehogs[i].Gear^.Health > team^.Hedgehogs[i].Gear^.Damage) |
599 then begin |
599 then flag:= true; |
600 flag:= true; |
600 if not flag then inc(Gear^.Damage, min(5, max(0,Gear^.Health - 1 - Gear^.Damage))) |
601 end; |
601 end; |
602 if not flag then inc(Gear^.Damage, min(5, max(0,Gear^.Health - 1 - Gear^.Damage))) |
|
603 end; |
|
604 end; |
602 end; |
605 |
603 |
606 Gear:= Gear^.NextGear |
604 Gear:= Gear^.NextGear |
607 end; |
605 end; |
608 end; |
606 end; |