25 DamageGiven: Longword; |
25 DamageGiven: Longword; |
26 StepDamageRecv, |
26 StepDamageRecv, |
27 StepDamageGiven: Longword; |
27 StepDamageGiven: Longword; |
28 MaxStepDamageRecv, |
28 MaxStepDamageRecv, |
29 MaxStepDamageGiven: Longword; |
29 MaxStepDamageGiven: Longword; |
30 Turns: Longword; |
30 FinishedTurns: Longword; |
31 end; |
31 end; |
32 |
32 |
33 procedure HedgehogDamaged(Gear: PGear; Damage: Longword); |
33 procedure HedgehogDamaged(Gear: PGear; Damage: Longword); |
34 procedure TurnReaction; |
34 procedure TurnReaction; |
35 procedure SendStats; |
35 procedure SendStats; |
36 |
36 |
37 implementation |
37 implementation |
38 uses uTeams, uSound, uConsts; |
38 uses uTeams, uSound, uConsts; |
|
39 var DamageGiven : Longword = 0; |
|
40 DamageClan : Longword = 0; |
39 |
41 |
40 procedure HedgehogDamaged(Gear: PGear; Damage: Longword); |
42 procedure HedgehogDamaged(Gear: PGear; Damage: Longword); |
41 begin |
43 begin |
42 if Gear <> CurrentHedgehog^.Gear then |
44 if Gear <> CurrentHedgehog^.Gear then |
43 inc(CurrentHedgehog^.stats.StepDamageGiven, Damage); |
45 inc(CurrentHedgehog^.stats.StepDamageGiven, Damage); |
44 inc(PHedgehog(Gear^.Hedgehog)^.stats.StepDamageRecv, Damage) |
46 |
|
47 if CurrentHedgehog^.Team^.Clan = PHedgehog(Gear^.Hedgehog)^.Team^.Clan then inc(DamageClan, Damage); |
|
48 |
|
49 |
|
50 inc(PHedgehog(Gear^.Hedgehog)^.stats.StepDamageRecv, Damage); |
|
51 inc(DamageGiven, Damage) |
45 end; |
52 end; |
46 |
53 |
47 procedure TurnReaction; |
54 procedure TurnReaction; |
|
55 var Gear: PGear; |
48 begin |
56 begin |
|
57 inc(CurrentHedgehog^.stats.FinishedTurns); |
|
58 |
|
59 if CurrentHedgehog^.stats.StepDamageRecv > 0 then PlaySound(sndStupid, false) |
|
60 else if DamageClan <> 0 then |
|
61 else if DamageGiven <> 0 then |
|
62 else PlaySound(sndMissed, false); |
|
63 |
|
64 Gear:= GearsList; |
|
65 while Gear <> nil do |
|
66 begin |
|
67 if Gear^.Kind = gtHedgehog then |
|
68 with PHedgehog(Gear^.Hedgehog)^.stats do |
|
69 begin |
|
70 inc(DamageRecv, StepDamageRecv); |
|
71 inc(DamageGiven, StepDamageGiven); |
|
72 if StepDamageRecv > MaxStepDamageRecv then MaxStepDamageRecv:= StepDamageRecv; |
|
73 if StepDamageGiven > MaxStepDamageGiven then MaxStepDamageGiven:= StepDamageGiven; |
|
74 StepDamageRecv:= 0; |
|
75 StepDamageGiven:= 0 |
|
76 end; |
|
77 Gear:= Gear^.NextGear |
|
78 end; |
|
79 |
|
80 DamageGiven:= 0; |
|
81 DamageClan:= 0 |
49 end; |
82 end; |
50 |
83 |
51 procedure SendStats; |
84 procedure SendStats; |
52 //var i, t: LongInt; |
85 //var i, t: LongInt; |
53 // msd: Longword; msdhh: PHedgehog; |
86 // msd: Longword; msdhh: PHedgehog; |