def region_healers(conn, combat, timeline, region_list, options): toon_dict = armoryutils.sqlite_scrapeCharacters(options.armorydb_path, [], options.realm_str, options.region_str) color_dict = armoryutils.classColors() for healer_str, healer_int in sorted(combat['healer_list']): graph_list = [] graph_list.append(Graph([('vbar', color_dict[toon_dict[healer_str]['class']][2])], lambda timeline, index: timeline.getEventData(index, 'count(*)', suffix=('_CAST_START', '_CAST_SUCCESS'), sourceName=healer_str).fetchone()[0] != 0, smoothing=None)) region_list.append(Region(timeline, ("%s: %s" % (healer_str, healer_int)), graph_list, len(timeline), 15, region_list[-1], 'under')) graph_list = [] graph_list.append(AuraGraph(combat, "Mark of the Faceless", "MotF", True, destType='PC', destName=healer_str)) region_list.append(Region(timeline, "Auras", graph_list, len(timeline), 15, region_list[-1], 'under')) graph_list = [] graph_list.append(Graph([('upbar', css('heal_pc_inst'))], lambda timeline, index: timeline.getEventData(index, 'sum(amount) - sum(extra)', suffix='_HEAL', destType='PC', sourceType='PC', sourceName=healer_str).fetchone()[0] or 0, smoothing=None)) region_list.append(Region(timeline, " Healing", graph_list, len(timeline), 0.005, region_list[-1], 'under')) graph_list = [] graph_list.append(Graph([('downbar', css('overheal_pc_inst'))], lambda timeline, index: timeline.getEventData(index, 'sum(extra)', suffix='_HEAL', destType='PC', sourceType='PC', sourceName=healer_str).fetchone()[0] or 0, smoothing=None)) region_list.append(Region(timeline, " Overhealing", graph_list, len(timeline), 0.005, region_list[-1], 'under', True))
def region_title(conn, combat, timeline, region_list, options): char_list = [x['sourceName'] for x in conn_execute(conn, '''select distinct sourceName from event where combat_id = ? and sourceType = ?''', (combat['id'], 'PC')).fetchall()] char_dict = armoryutils.sqlite_scrapeCharacters(options.armorydb_path, char_list, options.realm_str, options.region_str) region_list.extend([Region(timeline, '%s: %s, %s' % (combat['instance'], combat['encounter'], timeline.start_dt), [DeathGraph(char_dict), TimeGraph(), WipeGraph(), AuraGraph(combat, "Heroism", "Hero", False)], len(timeline), 20)])
def region_dps(conn, combat, timeline, region_list, options): toon_dict = armoryutils.sqlite_scrapeCharacters(options.armorydb_path, [], options.realm_str, options.region_str) color_dict = armoryutils.classColors() for dps_str, dps_int in combat['dps_list']: graph_list = [] graph_list.append(Graph([('vbar', color_dict[toon_dict[dps_str]['class']][2])], lambda timeline, index: timeline.getEventData(index, 'count(*)', suffix=('_CAST_START', '_CAST_SUCCESS'), sourceName=dps_str).fetchone()[0] != 0, smoothing=None)) region_list.append(Region(timeline, ("%s: %s" % (dps_str, dps_int)), graph_list, len(timeline), 15, region_list[-1], 'under')) graph_list = [] graph_list.append(AuraGraph(combat, "Mark of the Faceless", "MotF", True, destType='PC', destName=dps_str)) region_list.append(Region(timeline, "Auras", graph_list, len(timeline), 15, region_list[-1], 'under')) graph_list = [] graph_list.append(Graph([('upbar', css('dps_boss_bar')), ('upline', css('dps_boss_trend'))], lambda timeline, index: timeline.getEventData(index, 'sum(amount) - sum(extra)', suffix='_DAMAGE', sourceType=('PC','Pet'), destType=('NPC','Mount'), sourceName=dps_str, \ destName=tuple(instanceData()[combat['instance']][combat['encounter']]['boss'])).fetchone()[0] or 0, smoothing=[3,3,3,5])) graph_list.append(Graph([('upbar', css('dps_trash_bar')), ('upline', css('dps_trash_trend'))], lambda timeline, index: timeline.getEventData(index, 'sum(amount) - sum(extra)', suffix='_DAMAGE', sourceType=('PC','Pet'), destType=('NPC','Mount'), sourceName=dps_str).fetchone()[0] or 0, smoothing=[3,3,3,5])) region_list.append(Region(timeline, " Damage", graph_list, len(timeline), 0.005, region_list[-1], 'under', True))