@@ -111,7 +111,8 @@ def __sub__(self, other: "Statistics") -> "Statistics":
111111 deaths = (self .deaths or 0 ) - (other .deaths or 0 ),
112112 revives = (self .revives or 0 ) - (other .revives or 0 ),
113113 friendlies = (self .friendlies or 0 ) - (other .friendlies or 0 ),
114- missionSuccessRate = (self .missionSuccessRate or 0 ) - (other .missionSuccessRate or 0 ),
114+ missionSuccessRate = (self .missionSuccessRate or 0 )
115+ - (other .missionSuccessRate or 0 ),
115116 accuracy = (self .accuracy or 0 ) - (other .accuracy or 0 ),
116117 playerCount = (self .playerCount or 0 ) - (other .playerCount or 0 ),
117118 time_delta = self .retrieved_at - other .retrieved_at , # type: ignore
@@ -137,47 +138,73 @@ def average(stats_list: List["Statistics"]) -> "Statistics":
137138 // count
138139 )
139140 avg_stats = Statistics (
140- missionsWon = sum (stat .missionsWon for stat in stats_list if stat .missionsWon is not None )
141+ missionsWon = sum (
142+ stat .missionsWon for stat in stats_list if stat .missionsWon is not None
143+ )
141144 // count ,
142145 missionsLost = sum (
143- stat .missionsLost for stat in stats_list if stat .missionsLost is not None
146+ stat .missionsLost
147+ for stat in stats_list
148+ if stat .missionsLost is not None
144149 )
145150 // count ,
146- missionTime = sum (stat .missionTime for stat in stats_list if stat .missionTime is not None )
151+ missionTime = sum (
152+ stat .missionTime for stat in stats_list if stat .missionTime is not None
153+ )
147154 // count ,
148155 terminidKills = sum (
149- stat .terminidKills for stat in stats_list if stat .terminidKills is not None
156+ stat .terminidKills
157+ for stat in stats_list
158+ if stat .terminidKills is not None
150159 )
151160 // count ,
152161 automatonKills = sum (
153- stat .automatonKills for stat in stats_list if stat .automatonKills is not None
162+ stat .automatonKills
163+ for stat in stats_list
164+ if stat .automatonKills is not None
154165 )
155166 // count ,
156167 illuminateKills = sum (
157- stat .illuminateKills for stat in stats_list if stat .illuminateKills is not None
168+ stat .illuminateKills
169+ for stat in stats_list
170+ if stat .illuminateKills is not None
158171 )
159172 // count ,
160173 bulletsFired = sum (
161- stat .bulletsFired for stat in stats_list if stat .bulletsFired is not None
174+ stat .bulletsFired
175+ for stat in stats_list
176+ if stat .bulletsFired is not None
177+ )
178+ // count ,
179+ bulletsHit = sum (
180+ stat .bulletsHit for stat in stats_list if stat .bulletsHit is not None
181+ )
182+ // count ,
183+ timePlayed = sum (
184+ stat .timePlayed for stat in stats_list if stat .timePlayed is not None
162185 )
163186 // count ,
164- bulletsHit = sum (stat .bulletsHit for stat in stats_list if stat .bulletsHit is not None )
187+ deaths = sum (stat .deaths for stat in stats_list if stat .deaths is not None )
165188 // count ,
166- timePlayed = sum (stat .timePlayed for stat in stats_list if stat .timePlayed is not None )
189+ revives = sum (stat .revives for stat in stats_list if stat .revives is not None )
167190 // count ,
168- deaths = sum (stat . deaths for stat in stats_list if stat . deaths is not None ) // count ,
169- revives = sum ( stat .revives for stat in stats_list if stat .revives is not None ) // count ,
170- friendlies = sum ( stat . friendlies for stat in stats_list if stat . friendlies is not None )
191+ friendlies = sum (
192+ stat .friendlies for stat in stats_list if stat .friendlies is not None
193+ )
171194 // count ,
172195 missionSuccessRate = sum (
173196 stat .missionSuccessRate
174197 for stat in stats_list
175198 if stat .missionSuccessRate is not None
176199 )
177200 // count ,
178- accuracy = sum (stat .accuracy for stat in stats_list if stat .accuracy is not None )
201+ accuracy = sum (
202+ stat .accuracy for stat in stats_list if stat .accuracy is not None
203+ )
179204 // count ,
180- playerCount = sum (stat .playerCount for stat in stats_list if stat .playerCount is not None )
205+ playerCount = sum (
206+ stat .playerCount for stat in stats_list if stat .playerCount is not None
207+ )
181208 // count ,
182209 time_delta = datetime .timedelta (seconds = avg_time ),
183210 )
@@ -201,18 +228,23 @@ def format_statistics(self) -> str:
201228 # f"I: {hf(self.illuminateKills)}"
202229
203230 # Format deaths and friendlies statistics
204- deaths_and_friendlies = f"Deaths/Friendlies: { hf (self .deaths )} /" f"{ hf (self .friendlies )} "
231+ deaths_and_friendlies = (
232+ f"Deaths/Friendlies: { hf (self .deaths )} /" f"{ hf (self .friendlies )} "
233+ )
205234
206235 # Format player count
207236 player_count = f"{ emj ('hdi' )} : { hf (self .playerCount )} "
208237 thistime = round (
209- max (self .missionTime , 1 ) / max (((self .missionsWon or 0 ) + (self .missionsLost or 0 )), 1 ),
238+ max (self .missionTime , 1 )
239+ / max (((self .missionsWon or 0 ) + (self .missionsLost or 0 )), 1 ),
210240 4 ,
211241 ) # type: ignore
212242
213243 mission_stats += f"\n Time per mission: { sts (thistime )} "
214244 # Concatenate all formatted statistics
215- statsa = f"`[Missions: { mission_stats } ]`\n `[{ missiontime } ]`\n `[Kills: { kill_stats } ]`"
245+ statsa = (
246+ f"`[Missions: { mission_stats } ]`\n `[{ missiontime } ]`\n `[Kills: { kill_stats } ]`"
247+ )
216248 statsb = f"`[{ deaths_and_friendlies } ]`"
217249 statsc = f"`Total Time: { sts (self .timePlayed )} `"
218250 return f"{ player_count } \n { statsa } \n { statsb } \n { statsc } "
0 commit comments