274 winnersClan:= nil; |
277 winnersClan:= nil; |
275 |
278 |
276 for t:= 0 to Pred(TeamsCount) do |
279 for t:= 0 to Pred(TeamsCount) do |
277 with TeamsArray[t]^ do |
280 with TeamsArray[t]^ do |
278 begin |
281 begin |
279 if not ExtDriven then |
282 if (not ExtDriven) and SendRankingStatsOn then |
280 SendStat(siTeamStats, GetTeamStatString(TeamsArray[t])); |
283 SendStat(siTeamStats, GetTeamStatString(TeamsArray[t])); |
281 for i:= 0 to cMaxHHIndex do |
284 for i:= 0 to cMaxHHIndex do |
282 begin |
285 begin |
283 if Hedgehogs[i].stats.MaxStepDamageGiven > msd then |
286 if Hedgehogs[i].stats.MaxStepDamageGiven > msd then |
284 begin |
287 begin |
298 |
301 |
299 { send player stats for winner teams } |
302 { send player stats for winner teams } |
300 if Clan^.ClanHealth > 0 then |
303 if Clan^.ClanHealth > 0 then |
301 begin |
304 begin |
302 winnersClan:= Clan; |
305 winnersClan:= Clan; |
303 SendStat(siPlayerKills, IntToStr(Clan^.Color) + ' ' + |
306 if SendRankingStatsOn then |
304 IntToStr(stats.Kills) + ' ' + TeamName); |
307 SendStat(siPlayerKills, IntToStr(Clan^.Color) + ' ' + |
|
308 IntToStr(stats.Kills) + ' ' + TeamName); |
305 end; |
309 end; |
306 |
310 |
307 { determine maximum values of TeamKills, TurnSkips, TeamDamage } |
311 { determine maximum values of TeamKills, TurnSkips, TeamDamage } |
308 if stats.TeamKills > maxTeamKills then |
312 if stats.TeamKills > maxTeamKills then |
309 begin |
313 begin |
322 end; |
326 end; |
323 |
327 |
324 end; |
328 end; |
325 |
329 |
326 { now send player stats for loser teams } |
330 { now send player stats for loser teams } |
327 for t:= 0 to Pred(TeamsCount) do |
331 if SendRankingStatsOn then |
328 begin |
332 for t:= 0 to Pred(TeamsCount) do |
329 with TeamsArray[t]^ do |
|
330 begin |
333 begin |
331 if Clan^.ClanHealth = 0 then |
334 with TeamsArray[t]^ do |
332 begin |
335 begin |
333 SendStat(siPlayerKills, IntToStr(Clan^.Color) + ' ' + |
336 if Clan^.ClanHealth = 0 then |
334 IntToStr(stats.Kills) + ' ' + TeamName); |
337 begin |
|
338 SendStat(siPlayerKills, IntToStr(Clan^.Color) + ' ' + |
|
339 IntToStr(stats.Kills) + ' ' + TeamName); |
|
340 end; |
335 end; |
341 end; |
336 end; |
342 end; |
337 end; |
343 |
338 |
344 // “Achievements” / Details part of stats screen |
339 if msdhh <> nil then |
345 if SendAchievementsStatsOn then |
340 SendStat(siMaxStepDamage, IntToStr(msd) + ' ' + msdhh^.Name + ' (' + msdhh^.Team^.TeamName + ')'); |
346 begin |
341 if mskcnt = 1 then |
347 if msdhh <> nil then |
342 SendStat(siMaxStepKills, IntToStr(msk) + ' ' + mskhh^.Name + ' (' + mskhh^.Team^.TeamName + ')'); |
348 SendStat(siMaxStepDamage, IntToStr(msd) + ' ' + msdhh^.Name + ' (' + msdhh^.Team^.TeamName + ')'); |
343 |
349 if mskcnt = 1 then |
344 if maxTeamKills > 1 then |
350 SendStat(siMaxStepKills, IntToStr(msk) + ' ' + mskhh^.Name + ' (' + mskhh^.Team^.TeamName + ')'); |
345 SendStat(siMaxTeamKills, IntToStr(maxTeamKills) + ' ' + maxTeamKillsName); |
351 |
346 if maxTurnSkips > 2 then |
352 if maxTeamKills > 1 then |
347 SendStat(siMaxTurnSkips, IntToStr(maxTurnSkips) + ' ' + maxTurnSkipsName); |
353 SendStat(siMaxTeamKills, IntToStr(maxTeamKills) + ' ' + maxTeamKillsName); |
348 if maxTeamDamage > 30 then |
354 if maxTurnSkips > 2 then |
349 SendStat(siMaxTeamDamage, IntToStr(maxTeamDamage) + ' ' + maxTeamDamageName); |
355 SendStat(siMaxTurnSkips, IntToStr(maxTurnSkips) + ' ' + maxTurnSkipsName); |
350 |
356 if maxTeamDamage > 30 then |
351 if KilledHHs > 0 then |
357 SendStat(siMaxTeamDamage, IntToStr(maxTeamDamage) + ' ' + maxTeamDamageName); |
352 SendStat(siKilledHHs, IntToStr(KilledHHs)); |
358 |
|
359 if KilledHHs > 0 then |
|
360 SendStat(siKilledHHs, IntToStr(KilledHHs)); |
|
361 end; |
353 |
362 |
354 // now to console |
363 // now to console |
355 if winnersClan <> nil then |
364 if winnersClan <> nil then |
356 begin |
365 begin |
357 WriteLnToConsole('WINNERS'); |
366 WriteLnToConsole('WINNERS'); |