Skip to content

Commit 02f5ca5

Browse files
committed
added actions per minute for player
1 parent f9a7116 commit 02f5ca5

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

sc2reader/objects.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ def __init__(self, pid, data, realm="us"):
179179
self.type = "" # Human or Computer
180180
self.events = list()
181181
self.avg_apm = 0
182+
self.aps = dict()
182183

183184
def __str__(self):
184185
return "Player %s - %s (%s)" % (self.pid, self.name, self.actual_race)

sc2reader/replay.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,16 @@ def _parse_events(self):
150150
self.events_by_type[event.name].append(event)
151151

152152
if event.is_local:
153+
# TODO: This will probably break with observers because events
154+
# are recorded for observers but they are not added to self.players
153155
player = self.player[event.player]
154156
player.events.append(event)
155157

156158
if event.is_player_action:
159+
if event.seconds in player.aps:
160+
player.aps[event.seconds] += 1
161+
else:
162+
player.aps[event.seconds] = 1
157163
player.avg_apm += 1
158164

159165
# Average the APM

shell.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
# replay = Replay("1.sc2replay")
77
#
88
# print replay.player["Nexpacisor"].avg_apm
9-
# print replay.player["dblrainbow"].avg_apm
9+
# print replay.player["dblrainbow"].aps

0 commit comments

Comments
 (0)