diff --git a/sc2reader/objects.py b/sc2reader/objects.py index 04dcfc84..a49c3012 100644 --- a/sc2reader/objects.py +++ b/sc2reader/objects.py @@ -217,6 +217,10 @@ def __init__(self, pid, slot_data, detail_data, attribute_data): #: >0 or None self.commander_mastery_level = slot_data["commander_mastery_talents"] + #: Trophy ID + #: >0 or None + self.trophy_id = slot_data["trophy_id"] + #: The mastery talents picked for the co-op commander #: list of longs of length 6, each between 0 and 30 self.commander_mastery_talents = slot_data["commander_mastery_talents"] diff --git a/sc2reader/readers.py b/sc2reader/readers.py index 8b24f60e..a61a5934 100644 --- a/sc2reader/readers.py +++ b/sc2reader/readers.py @@ -238,6 +238,9 @@ def __call__(self, data, replay): ] if replay.base_build >= 42932 else None, + trophy_id=data.read_uint32() + if replay.base_build >= 75689 + else None, reward_overrides=[ [ data.read_uint32(), diff --git a/test_replays/4.10.0.75689/trophy_id_13.SC2Replay b/test_replays/4.10.0.75689/trophy_id_13.SC2Replay new file mode 100644 index 00000000..050e6307 Binary files /dev/null and b/test_replays/4.10.0.75689/trophy_id_13.SC2Replay differ diff --git a/test_replays/test_replays.py b/test_replays/test_replays.py index d6d8a6a2..8d779eea 100644 --- a/test_replays/test_replays.py +++ b/test_replays/test_replays.py @@ -695,6 +695,12 @@ def test_70154(self): factory = sc2reader.factories.SC2Factory() replay = factory.load_replay(replayfilename) + def test_75689(self): + for replayfilename in ["test_replays/4.10.0.75689/trophy_id_13.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename) + self.assertEqual(replay.players[0].trophy_id, 13) + def test_anonymous_replay(self): replayfilename = "test_replays/4.1.2.60604/1.SC2Replay" factory = sc2reader.factories.SC2Factory()