@@ -9,125 +9,59 @@ int CRoundStatistics::CPlayerStats::OnScoreEvent(int EventType, EPlayerClass Cla
9
9
int Points = 0 ;
10
10
switch (EventType)
11
11
{
12
- case SCOREEVENT_HUMAN_SURVIVE:
13
- Points = 50 ;
14
- break ;
15
- case SCOREEVENT_HUMAN_SUICIDE:
16
- Points = -10 ;
17
- break ;
18
- case SCOREEVENT_INFECTION:
19
- Points = 30 ;
20
- break ;
21
- case SCOREEVENT_KILL_INFECTED:
22
- Points = 10 ;
23
- break ;
24
- case SCOREEVENT_KILL_TARGET:
25
- Points = 20 ;
26
- break ;
27
- case SCOREEVENT_KILL_WITCH:
28
- Points = 50 ;
29
- break ;
30
- case SCOREEVENT_KILL_UNDEAD:
31
- Points = 50 ;
32
- break ;
33
- case SCOREEVENT_DESTROY_TURRET:
34
- Points = 10 ;
35
- break ;
36
- case SCOREEVENT_HELP_FREEZE:
37
- Points = 10 ;
38
- break ;
39
- case SCOREEVENT_HELP_HOOK_BARRIER:
40
- Points = 10 ;
41
- break ;
42
- case SCOREEVENT_HELP_HOOK_INFECTION:
43
- Points = 10 ;
44
- break ;
45
- case SCOREEVENT_HUMAN_HEALING:
46
- Points = 10 ;
47
- break ;
48
- case SCOREEVENT_HERO_FLAG:
49
- Points = 10 ;
50
- break ;
51
- case SCOREEVENT_BONUS:
52
- Points = 50 ;
53
- break ;
54
- case SCOREEVENT_MEDIC_REVIVE:
55
- Points = 50 ;
56
- break ;
12
+ case SCOREEVENT_HUMAN_SURVIVE:
13
+ Points = 50 ;
14
+ break ;
15
+ case SCOREEVENT_HUMAN_SUICIDE:
16
+ Points = -10 ;
17
+ break ;
18
+ case SCOREEVENT_INFECTION:
19
+ Points = 30 ;
20
+ break ;
21
+ case SCOREEVENT_KILL_INFECTED:
22
+ Points = 10 ;
23
+ break ;
24
+ case SCOREEVENT_KILL_TARGET:
25
+ Points = 20 ;
26
+ break ;
27
+ case SCOREEVENT_KILL_WITCH:
28
+ Points = 50 ;
29
+ break ;
30
+ case SCOREEVENT_KILL_UNDEAD:
31
+ Points = 50 ;
32
+ break ;
33
+ case SCOREEVENT_DESTROY_TURRET:
34
+ Points = 10 ;
35
+ break ;
36
+ case SCOREEVENT_HELP_FREEZE:
37
+ Points = 10 ;
38
+ break ;
39
+ case SCOREEVENT_HELP_HOOK_BARRIER:
40
+ Points = 10 ;
41
+ break ;
42
+ case SCOREEVENT_HELP_HOOK_INFECTION:
43
+ Points = 10 ;
44
+ break ;
45
+ case SCOREEVENT_HUMAN_HEALING:
46
+ Points = 10 ;
47
+ break ;
48
+ case SCOREEVENT_HERO_FLAG:
49
+ Points = 10 ;
50
+ break ;
51
+ case SCOREEVENT_BONUS:
52
+ Points = 50 ;
53
+ break ;
54
+ case SCOREEVENT_MEDIC_REVIVE:
55
+ Points = 50 ;
56
+ break ;
57
57
}
58
58
59
59
m_Score += Points;
60
-
61
- switch (Class)
60
+
61
+ int ClassIndex = static_cast <int >(Class);
62
+ if (ClassIndex > 0 && ClassIndex < NB_PLAYERCLASS)
62
63
{
63
- case EPlayerClass::Engineer:
64
- m_EngineerScore += Points;
65
- break ;
66
- case EPlayerClass::Soldier:
67
- m_SoldierScore += Points;
68
- break ;
69
- case EPlayerClass::Scientist:
70
- m_ScientistScore += Points;
71
- break ;
72
- case EPlayerClass::Biologist:
73
- m_BiologistScore += Points;
74
- break ;
75
- case EPlayerClass::Looper:
76
- m_LooperScore += Points;
77
- break ;
78
- case EPlayerClass::Medic:
79
- m_MedicScore += Points;
80
- break ;
81
- case EPlayerClass::Hero:
82
- m_HeroScore += Points;
83
- break ;
84
- case EPlayerClass::Ninja:
85
- m_NinjaScore += Points;
86
- break ;
87
- case EPlayerClass::Mercenary:
88
- m_MercenaryScore += Points;
89
- break ;
90
- case EPlayerClass::Sniper:
91
- m_SniperScore += Points;
92
- break ;
93
- case EPlayerClass::Smoker:
94
- m_SmokerScore += Points;
95
- break ;
96
- case EPlayerClass::Hunter:
97
- m_HunterScore += Points;
98
- break ;
99
- case EPlayerClass::Bat:
100
- m_BatScore += Points;
101
- break ;
102
- case EPlayerClass::Boomer:
103
- m_BoomerScore += Points;
104
- break ;
105
- case EPlayerClass::Ghost:
106
- m_GhostScore += Points;
107
- break ;
108
- case EPlayerClass::Spider:
109
- m_SpiderScore += Points;
110
- break ;
111
- case EPlayerClass::Ghoul:
112
- m_GhoulScore += Points;
113
- break ;
114
- case EPlayerClass::Slug:
115
- m_SlugScore += Points;
116
- break ;
117
- case EPlayerClass::Voodoo:
118
- m_VoodooScore += Points;
119
- break ;
120
- case EPlayerClass::Undead:
121
- m_UndeadScore += Points;
122
- break ;
123
- case EPlayerClass::Witch:
124
- m_WitchScore += Points;
125
- break ;
126
-
127
- case EPlayerClass::Invalid:
128
- case EPlayerClass::None:
129
- case EPlayerClass::Count:
130
- break ;
64
+ m_ClassScore[ClassIndex] += Points;
131
65
}
132
66
133
67
return Points;
0 commit comments