94 for i:= 0 to cMaxHHIndex do |
94 for i:= 0 to cMaxHHIndex do |
95 with Hedgehogs[i] do |
95 with Hedgehogs[i] do |
96 if (Gear <> nil) then |
96 if (Gear <> nil) then |
97 Gear^.State:= gstWinner; |
97 Gear^.State:= gstWinner; |
98 if Flawless then |
98 if Flawless then |
99 AddVoice(sndFlawless, Teams[0]^.voicepack) |
99 AddVoice(sndFlawless, Teams[0]^.voicepack) |
100 else |
100 else |
101 AddVoice(sndVictory, Teams[0]^.voicepack); |
101 AddVoice(sndVictory, Teams[0]^.voicepack); |
102 |
102 |
103 AddCaption(s, cWhiteColor, capgrpGameState); |
103 AddCaption(s, cWhiteColor, capgrpGameState); |
104 SendStat(siGameResult, s); |
104 SendStat(siGameResult, s); |
188 PrevHH:= CurrHedgehog mod HedgehogsNumber; // prevent infinite loop when CurrHedgehog = 7, but HedgehogsNumber < 8 (team is destroyed before its first turn) |
188 PrevHH:= CurrHedgehog mod HedgehogsNumber; // prevent infinite loop when CurrHedgehog = 7, but HedgehogsNumber < 8 (team is destroyed before its first turn) |
189 repeat |
189 repeat |
190 CurrHedgehog:= Succ(CurrHedgehog) mod HedgehogsNumber; |
190 CurrHedgehog:= Succ(CurrHedgehog) mod HedgehogsNumber; |
191 until ((Hedgehogs[CurrHedgehog].Gear <> nil) and (Hedgehogs[CurrHedgehog].Effects[heFrozen] < 256)) or (CurrHedgehog = PrevHH) |
191 until ((Hedgehogs[CurrHedgehog].Gear <> nil) and (Hedgehogs[CurrHedgehog].Effects[heFrozen] < 256)) or (CurrHedgehog = PrevHH) |
192 end |
192 end |
193 until ((CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] < 50256)) or (PrevTeam = CurrTeam) or ((CurrTeam = TagTeamIndex) and ((GameFlags and gfTagTeam) <> 0)) |
193 until ((CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] < 256)) or (PrevTeam = CurrTeam) or ((CurrTeam = TagTeamIndex) and ((GameFlags and gfTagTeam) <> 0)) |
194 end; |
194 end; |
195 if (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear = nil) or (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] > 255) then |
195 if (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear = nil) or (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] > 255) then |
196 begin |
196 begin |
197 inc(CurrentTeam^.Clan^.TurnNumber); |
|
198 with CurrentTeam^.Clan^ do |
197 with CurrentTeam^.Clan^ do |
199 for t:= 0 to Pred(TeamsNumber) do |
198 for t:= 0 to Pred(TeamsNumber) do |
200 with Teams[t]^ do |
199 with Teams[t]^ do |
201 for i:= 0 to Pred(HedgehogsNumber) do |
200 for i:= 0 to Pred(HedgehogsNumber) do |
202 with Hedgehogs[i] do |
201 with Hedgehogs[i] do |
203 if Effects[heFrozen] > 255 then |
202 begin |
204 Effects[heFrozen]:= max(255,Effects[heFrozen]-50000) |
203 if Effects[heFrozen] > 255 then Effects[heFrozen]:= max(255,Effects[heFrozen]-50000); |
|
204 if (Gear <> nil) and (Effects[heFrozen] < 256) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] > 255) then |
|
205 CurrHedgehog:= i |
|
206 end; |
|
207 if (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear = nil) or (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] > 255) then |
|
208 inc(CurrentTeam^.Clan^.TurnNumber); |
205 end |
209 end |
206 until (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] < 256); |
210 until (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] < 256); |
207 |
211 |
208 SwitchCurrentHedgehog(@(CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog])); |
212 SwitchCurrentHedgehog(@(CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog])); |
209 {$IFDEF USE_TOUCH_INTERFACE} |
213 {$IFDEF USE_TOUCH_INTERFACE} |