hedgewars/uStats.pas
changeset 10015 4feced261c68
parent 9998 736015b847e3
parent 9521 8054d9d775fd
child 10105 8c5fa1d15bd5
equal deleted inserted replaced
10014:56d2f2d5aad8 10015:4feced261c68
    23 uses uConsts, uTypes;
    23 uses uConsts, uTypes;
    24 
    24 
    25 var TotalRounds: LongInt;
    25 var TotalRounds: LongInt;
    26     FinishedTurnsTotal: LongInt;
    26     FinishedTurnsTotal: LongInt;
    27     SendHealthStatsOn : boolean = true;
    27     SendHealthStatsOn : boolean = true;
    28     
    28 
    29 procedure initModule;
    29 procedure initModule;
    30 procedure freeModule;
    30 procedure freeModule;
    31 
    31 
    32 procedure AmmoUsed(am: TAmmoType);
    32 procedure AmmoUsed(am: TAmmoType);
    33 procedure HedgehogDamaged(Gear: PGear; Attacker: PHedgehog; Damage: Longword; killed: boolean);
    33 procedure HedgehogDamaged(Gear: PGear; Attacker: PHedgehog; Damage: Longword; killed: boolean);
   109         AddVoice(sndFirstBlood, CurrentTeam^.voicepack)
   109         AddVoice(sndFirstBlood, CurrentTeam^.voicepack)
   110 
   110 
   111     else if CurrentHedgehog^.stats.StepDamageRecv > 0 then
   111     else if CurrentHedgehog^.stats.StepDamageRecv > 0 then
   112         begin
   112         begin
   113         AddVoice(sndStupid, PreviousTeam^.voicepack);
   113         AddVoice(sndStupid, PreviousTeam^.voicepack);
   114         if CurrentHedgehog^.stats.DamageGiven = CurrentHedgehog^.stats.StepDamageRecv then 
   114         if CurrentHedgehog^.stats.DamageGiven = CurrentHedgehog^.stats.StepDamageRecv then
   115             AddCaption(Format(GetEventString(eidHurtSelf), CurrentHedgehog^.Name), cWhiteColor, capgrpMessage);
   115             AddCaption(Format(GetEventString(eidHurtSelf), CurrentHedgehog^.Name), cWhiteColor, capgrpMessage);
   116         end
   116         end
   117 
   117 
   118     else if DamageClan <> 0 then
   118     else if DamageClan <> 0 then
   119         if DamageTurn > DamageClan then
   119         if DamageTurn > DamageClan then
   162                     MaxStepKills:= StepKills;
   162                     MaxStepKills:= StepKills;
   163                 StepKills:= 0;
   163                 StepKills:= 0;
   164                 StepDamageRecv:= 0;
   164                 StepDamageRecv:= 0;
   165                 StepDamageGiven:= 0
   165                 StepDamageGiven:= 0
   166                 end;
   166                 end;
   167                 
   167 
   168 if SendHealthStatsOn then
   168 if SendHealthStatsOn then
   169     for t:= 0 to Pred(ClansCount) do
   169     for t:= 0 to Pred(ClansCount) do
   170         with ClansArray[t]^ do
   170         with ClansArray[t]^ do
   171             begin
   171             begin
   172             SendStat(siClanHealth, IntToStr(Color) + ' ' + IntToStr(ClanHealth));
   172             SendStat(siClanHealth, IntToStr(Color) + ' ' + IntToStr(ClanHealth));
   296 
   296 
   297     if KilledHHs > 0 then
   297     if KilledHHs > 0 then
   298         SendStat(siKilledHHs, IntToStr(KilledHHs));
   298         SendStat(siKilledHHs, IntToStr(KilledHHs));
   299 
   299 
   300     // now to console
   300     // now to console
   301     if winnersClan <> nil then 
   301     if winnersClan <> nil then
   302         begin
   302         begin
   303         WriteLnToConsole('WINNERS');
   303         WriteLnToConsole('WINNERS');
   304         WriteLnToConsole(inttostr(winnersClan^.TeamsNumber));
   304         WriteLnToConsole(inttostr(winnersClan^.TeamsNumber));
   305         for t:= 0 to winnersClan^.TeamsNumber - 1 do
   305         for t:= 0 to winnersClan^.TeamsNumber - 1 do
   306             WriteLnToConsole(winnersClan^.Teams[t]^.TeamName);
   306             WriteLnToConsole(winnersClan^.Teams[t]^.TeamName);
   307         end
   307         end
   308     else
   308     else
   309         WriteLnToConsole('DRAW');
   309         WriteLnToConsole('DRAW');
   310         
   310 
   311     ScriptCall('onAchievementsDeclaration');
   311     ScriptCall('onAchievementsDeclaration');
   312 end;
   312 end;
   313 
   313 
   314 procedure declareAchievement(id, teamname, location: shortstring; value: LongInt);
   314 procedure declareAchievement(id, teamname, location: shortstring; value: LongInt);
   315 begin 
   315 begin
   316 if (length(id) = 0) or (length(teamname) = 0) or (length(location) = 0) then exit;
   316 if (length(id) = 0) or (length(teamname) = 0) or (length(location) = 0) then exit;
   317     WriteLnToConsole('ACHIEVEMENT');
   317     WriteLnToConsole('ACHIEVEMENT');
   318     WriteLnToConsole(id);
   318     WriteLnToConsole(id);
   319     WriteLnToConsole(teamname);
   319     WriteLnToConsole(teamname);
   320     WriteLnToConsole(location);
   320     WriteLnToConsole(location);