diff --git a/monitor.py b/monitor.py index de435069..05fd338b 100644 --- a/monitor.py +++ b/monitor.py @@ -468,6 +468,11 @@ class EDLogs(FileSystemEventHandler): for reward in entry.get('CommodityReward', []): commodity = self.canonicalise(reward['Name']) self.state['Cargo'][commodity] += reward.get('Count', 1) + for reward in entry.get('MaterialsReward', []): + if 'Category' in reward: # FIXME: Category not present in E:D 3.0 + material = self.canonicalise(reward['Name']) + self.state[reward['Category']][material] += reward.get('Count', 1) + elif entry['event'] == 'SearchAndRescue': for item in entry.get('Items', []): commodity = self.canonicalise(item['Name']) diff --git a/plugins/inara.py b/plugins/inara.py index 8873254e..e1eda1f7 100644 --- a/plugins/inara.py +++ b/plugins/inara.py @@ -419,14 +419,10 @@ def journal_entry(cmdr, is_beta, system, station, entry, state): data['rewardPermits'] = [{ 'starsystemName': x } for x in entry['PermitsAwarded']] if 'CommodityReward' in entry: data['rewardCommodities'] = [{ 'itemName': x['Name'], 'itemCount': x['Count'] } for x in entry['CommodityReward']] + if 'MaterialsReward' in entry: + data['rewardMaterials'] = [{ 'itemName': x['Name'], 'itemCount': x['Count'] } for x in entry['MaterialsReward']] add_event('setCommanderMissionCompleted', entry['timestamp'], data) - # Journal doesn't list rewarded materials directly, just as 'MaterialCollected' - elif (entry['event'] == 'MaterialCollected' and this.events and - this.events[-1]['eventName'] == 'setCommanderMissionCompleted' and - this.events[-1]['eventTimestamp'] == entry['timestamp']): - this.events[-1]['eventData']['rewardMaterials'] = [{ 'itemName': entry['Name'], 'itemCount': entry['Count'] }] - elif entry['event'] == 'MissionFailed': add_event('setCommanderMissionFailed', entry['timestamp'], { 'missionGameID': entry['MissionID'] })