equal
deleted
inserted
replaced
722 delay2: LongWord = 0; |
722 delay2: LongWord = 0; |
723 step: (stDelay, stChDmg, stSweep, stTurnReact, |
723 step: (stDelay, stChDmg, stSweep, stTurnReact, |
724 stAfterDelay, stChWin, stWater, stChWin2, stHealth, |
724 stAfterDelay, stChWin, stWater, stChWin2, stHealth, |
725 stSpawn, stNTurn) = stDelay; |
725 stSpawn, stNTurn) = stDelay; |
726 var Gear, t: PGear; |
726 var Gear, t: PGear; |
727 i: LongInt; |
727 i, AliveCount: LongInt; |
728 s: shortstring; |
728 s: shortstring; |
729 begin |
729 begin |
730 PrvInactive:= AllInactive; |
730 PrvInactive:= AllInactive; |
731 AllInactive:= true; |
731 AllInactive:= true; |
732 |
732 |
877 CurrentHedgehog^.Gear^.State:= CurrentHedgehog^.Gear^.State and not gstAttacked; |
877 CurrentHedgehog^.Gear^.State:= CurrentHedgehog^.Gear^.State and not gstAttacked; |
878 if delay2 = 0 then |
878 if delay2 = 0 then |
879 begin |
879 begin |
880 SweepDirty; |
880 SweepDirty; |
881 CheckNoDamage; |
881 CheckNoDamage; |
882 CheckForWin |
882 AliveCount:= 0; // shorter version of check for win to allow typical step activity to proceed |
|
883 for i:= 0 to Pred(ClansCount) do |
|
884 if ClansArray[i]^.ClanHealth > 0 then inc(AliveCount); |
|
885 if (AliveCount <= 1) and ((GameFlags and gfOneClanMode) = 0) then |
|
886 begin |
|
887 step:= stChDmg; |
|
888 GameFlags:= GameFlags and not gfInfAttack; |
|
889 TurnTimeLeft:= 0 |
|
890 end |
883 end |
891 end |
884 end |
892 end |
885 end; |
893 end; |
886 |
894 |
887 if TurnTimeLeft > 0 then |
895 if TurnTimeLeft > 0 then |