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); |