Skip to content

Commit 1f8fb21

Browse files
committed
event.pid is actually an index into replay.people.
And all this time we thought it was the player number. Crazy! Fixes #90, at least for the example replay given.
1 parent 43c8a09 commit 1f8fb21

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

sc2reader/events.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ def __init__(self, frame, pid):
1616
# self.time = Length(seconds=self.second)
1717

1818
def load_context(self, replay):
19-
# print "Hi", self.pid, replay.person, self.__class__
20-
if self.pid != 16 and self.pid not in replay.person:
21-
self.logger.error("Bad pid ({}) for event {} at {}.".format(self.pid, self.__class__, Length(seconds=int(self.frame/16))))
22-
23-
if self.pid != 16:
24-
self.player = replay.person[self.pid]
19+
if self.pid < len(replay.people):
20+
self.player = replay.people[self.pid]
21+
elif self.pid != 16:
22+
self.logger.error("Bad pid ({0}) for event {1} at {2}.".format(self.pid, self.__class__, Length(seconds=self.second)))
23+
else:
24+
pass # This is a global event
2525

2626
def _str_prefix(self):
2727
player_name = self.player.name if getattr(self,'pid', 16)!=16 else "Global"

sc2reader/resources.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -506,14 +506,13 @@ def load_events(self):
506506
event.load_context(self)
507507
# TODO: Should this be documented or removed? I don't like it.
508508
if event.pid != 16:
509-
player = self.person[event.pid]
510-
player.events.append(event)
509+
event.player.events.append(event)
511510
if is_camera:
512-
player.camera_events.append(event)
511+
event.player.camera_events.append(event)
513512
elif is_selection:
514-
player.selection_events.append(event)
513+
event.player.selection_events.append(event)
515514
elif is_ability:
516-
player.ability_events.append(event)
515+
event.player.ability_events.append(event)
517516

518517
def register_reader(self, data_file, reader, filterfunc=lambda r: True):
519518
"""

0 commit comments

Comments
 (0)