Skip to content

Commit 3694fc9

Browse files
authored
Merge pull request #135 from Chazzz/upstream
Integrated ResourceTradeEvent and added test
2 parents 6931aaa + 3d1c3ba commit 3694fc9

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

sc2reader/engine/plugins/context.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def handleSelectionEvent(self, event, replay):
151151

152152
def handleResourceTradeEvent(self, event, replay):
153153
event.sender = event.player
154-
event.recipient = replay.players[event.recipient_id]
154+
event.recipient = replay.player[event.recipient_id]
155155

156156
def handleHijackReplayGameEvent(self, event, replay):
157157
replay.resume_from_replay = True

sc2reader/events/game.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -650,14 +650,18 @@ def __init__(self, frame, pid, data):
650650
self.vespene = self.resources[1] if len(self.resources) >= 2 else None
651651

652652
#: Amount terrazine sent
653-
self.terrazon = self.resources[2] if len(self.resources) >= 3 else None
653+
self.terrazine = self.resources[2] if len(self.resources) >= 3 else None
654654

655655
#: Amount custom resource sent
656656
self.custom_resource = self.resources[3] if len(self.resources) >= 4 else None
657657

658658
def __str__(self):
659659
return self._str_prefix() + " transfer {0} minerals, {1} gas, {2} terrazine, and {3} custom to {4}".format(
660-
self.minerals, self.vespene, self.terrazine, self.custom, self.recipient
660+
self.minerals,
661+
self.vespene,
662+
self.terrazine,
663+
self.custom_resource,
664+
self.recipient,
661665
)
662666

663667

@@ -688,7 +692,7 @@ def __str__(self):
688692
return (
689693
self._str_prefix()
690694
+ " requests {0} minerals, {1} gas, {2} terrazine, and {3} custom".format(
691-
self.minerals, self.vespene, self.terrazine, self.custom
695+
self.minerals, self.vespene, self.terrazine, self.custom_resource
692696
)
693697
)
694698

sc2reader/readers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ def __init__(self):
421421
28: (SelectionEvent, self.selection_delta_event),
422422
29: (create_control_group_event, self.control_group_update_event),
423423
30: (None, self.selection_sync_check_event),
424-
31: (None, self.resource_trade_event),
424+
31: (ResourceTradeEvent, self.resource_trade_event),
425425
32: (None, self.trigger_chat_message_event),
426426
33: (None, self.ai_communicate_event),
427427
34: (None, self.set_absolute_game_speed_event),

test_replays/test_replays.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,15 @@ def test_send_resources(self):
305305
replay = sc2reader.load_replay(
306306
"test_replays/2.0.4.24944/Backwater Complex (15).SC2Replay"
307307
)
308+
trade_events = [
309+
event for event in replay.events if event.name == "ResourceTradeEvent"
310+
]
311+
self.assertEqual(len(trade_events), 5)
312+
self.assertEqual(trade_events[0].sender.name, "Guardian")
313+
self.assertEqual(trade_events[0].recipient.name, "Sturmkind")
314+
self.assertEqual(trade_events[0].recipient_id, 2)
315+
self.assertEqual(trade_events[0].minerals, 0)
316+
self.assertEqual(trade_events[0].vespene, 750)
308317

309318
def test_cn_replays(self):
310319
replay = sc2reader.load_replay("test_replays/2.0.5.25092/cn1.SC2Replay")

0 commit comments

Comments
 (0)