calculator = AldrianasRogueDamageCalculator(test_stats, test_talents, test_glyphs, test_buffs, test_race, test_settings, test_level) # Compute EP values. ep_values = calculator.get_ep() # Compute talents ranking main_tree_talents_ranking, off_tree_talents_ranking = calculator.get_talents_ranking( ) # Compute glyphs ranking glyps_ranking = calculator.get_glyphs_ranking(['vendetta', 'backstab']) # Compute EP values for procs and gear buffs tier_ep_values = calculator.get_other_ep( ['rogue_t11_4pc', 'rogue_t11_2pc', 'rogue_t12_4pc', 'rogue_t12_2pc']) metagem_ep_value = calculator.get_other_ep(['chaotic_metagem']) trinkets_list = [ 'the_hungerer', 'matrix_restabilizer', 'rickets_magnetic_fireball_proc', 'heroic_the_hungerer', 'heroic_matrix_restabilizer' ] trinkets_ep_value = calculator.get_other_ep(trinkets_list) # Compute weapon ep mh_enchants_and_dps_ep_values, oh_enchants_and_dps_ep_values = calculator.get_weapon_ep( dps=True, enchants=True) mh_speed_ep_values, oh_speed_ep_values = calculator.get_weapon_ep([1.4, 1.8]) # Compute DPS Breakdown. dps_breakdown = calculator.get_dps_breakdown() total_dps = sum(entry[1] for entry in dps_breakdown.items())
# Set up settings. test_cycle = settings.CombatCycle(stack_cds=True) test_settings = settings.Settings(test_cycle, response_time=.5, duration=360, dmg_poison='dp', utl_poison='lp', is_pvp=False, stormlash=1, adv_params="", tricks_on_cooldown=False, latency=.025, merge_damage=True) # Build a DPS object. calculator = AldrianasRogueDamageCalculator(test_stats, test_talents, test_glyphs, test_buffs, test_race, test_settings, test_level) # Compute DPS Breakdown. dps_breakdown = calculator.get_dps_breakdown() total_dps = sum(entry[1] for entry in dps_breakdown.items()) # Compute EP values. ep_values = calculator.get_ep(baseline_dps=total_dps) tier_ep_values = calculator.get_other_ep(['rogue_t14_4pc', 'rogue_t14_2pc', 'rogue_t15_4pc', 'rogue_t15_2pc', 'rogue_t16_2pc', 'rogue_t16_4pc']) #mh_enchants_and_dps_ep_values, oh_enchants_and_dps_ep_values = calculator.get_weapon_ep(dps=True, enchants=True) trinkets_list = [ #5.2 'heroic_rune_of_re_origination', 'thunder_rune_of_re_origination', 'rune_of_re_origination', 'lfr_rune_of_re_origination', 'heroic_bad_juju', 'thunder_bad_juju', 'bad_juju', 'lfr_bad_juju', 'heroic_thunder_talisman_of_bloodlust', 'heroic_talisman_of_bloodlust', 'thunder_talisman_of_bloodlust',
# Set up glyphs. glyph_list = ['recuperate', 'sprint'] #just to have something test_glyphs = glyphs.Glyphs(test_class, *glyph_list) # Set up settings. test_cycle = settings.AssassinationCycle(min_envenom_size_non_execute=4, min_envenom_size_execute=5, prioritize_rupture_uptime_non_execute=True, prioritize_rupture_uptime_execute=True) test_settings = settings.Settings(test_cycle, response_time=.5, duration=360, dmg_poison='dp', utl_poison='lp', is_pvp=False) # Build a DPS object. calculator = AldrianasRogueDamageCalculator(test_stats, test_talents, test_glyphs, test_buffs, test_race, test_settings, test_level) # Compute EP values. ep_values = calculator.get_ep() tier_ep_values = calculator.get_other_ep(['rogue_t14_4pc', 'rogue_t14_2pc']) mh_enchants_and_dps_ep_values, oh_enchants_and_dps_ep_values = calculator.get_weapon_ep(dps=True, enchants=True) trinkets_list = [ 'heroic_bottle_of_infinite_stars', 'bottle_of_infinite_stars', 'lfr_bottle_of_infinite_stars', 'heroic_terror_in_the_mists', 'terror_in_the_mists', 'lfr_terror_in_the_mists', 'relic_of_xuen', 'windswept_pages', 'jade_bandit_figurine', 'hawkmasters_talon', 'windswept_pages', 'searing_words',
# Build a DPS object. calculator = AldrianasRogueDamageCalculator(test_stats, test_talents, test_traits, test_buffs, test_race, test_spec, test_settings, test_level) print(str(calculator.stats.get_character_stats(calculator.race, test_traits))) # Compute DPS Breakdown. dps_breakdown = calculator.get_dps_breakdown() total_dps = sum(entry[1] for entry in list(dps_breakdown.items())) # Compute EP values. ep_values = calculator.get_ep(baseline_dps=total_dps) tier_ep_values = calculator.get_other_ep(['rogue_t19_2pc', 'rogue_t19_4pc', 'rogue_orderhall_8pc', 'rogue_t20_2pc', 'rogue_t20_4pc', 'rogue_t21_2pc', 'rogue_t21_4pc', 'mark_of_the_hidden_satyr', 'mark_of_the_distant_army', 'mark_of_the_claw', 'march_of_the_legion_2pc', 'journey_through_time_2pc', 'jacins_ruse_2pc', 'kara_empowered_2pc']) #talent_ranks = calculator.get_talents_ranking() #trait_ranks = calculator.get_trait_ranking() def max_length(dict_list): max_len = 0 for i in dict_list: dict_values = list(i.items()) if max_len < max(len(entry[0]) for entry in dict_values): max_len = max(len(entry[0]) for entry in dict_values)
test_level = 85 # Build a DPS object. calculator = AldrianasRogueDamageCalculator(test_stats, test_talents, test_glyphs, test_buffs, test_race, test_settings, test_level) # Compute EP values. ep_values = calculator.get_ep() # Compute talents ranking main_tree_talents_ranking, off_tree_talents_ranking = calculator.get_talents_ranking() # Compute glyphs ranking glyps_ranking = calculator.get_glyphs_ranking(['vendetta', 'backstab']) # Compute EP values for procs and gear buffs tier_ep_values = calculator.get_other_ep(['rogue_t11_4pc', 'rogue_t11_2pc', 'rogue_t12_4pc', 'rogue_t12_2pc']) metagem_ep_value = calculator.get_other_ep(['chaotic_metagem']) trinkets_list = [ 'the_hungerer', 'matrix_restabilizer', 'rickets_magnetic_fireball_proc', 'heroic_the_hungerer', 'heroic_matrix_restabilizer' ] trinkets_ep_value = calculator.get_other_ep(trinkets_list) # Compute weapon ep mh_enchants_and_dps_ep_values, oh_enchants_and_dps_ep_values = calculator.get_weapon_ep(dps=True, enchants=True) mh_speed_ep_values, oh_speed_ep_values = calculator.get_weapon_ep([1.4, 1.8]) # Compute DPS Breakdown.
prioritize_rupture_uptime_execute=True) test_settings = settings.Settings(test_cycle, response_time=.5, duration=360, dmg_poison='dp', utl_poison='lp', is_pvp=False) # Build a DPS object. calculator = AldrianasRogueDamageCalculator(test_stats, test_talents, test_glyphs, test_buffs, test_race, test_settings, test_level) # Compute EP values. ep_values = calculator.get_ep() tier_ep_values = calculator.get_other_ep(['rogue_t14_4pc', 'rogue_t14_2pc']) mh_enchants_and_dps_ep_values, oh_enchants_and_dps_ep_values = calculator.get_weapon_ep( dps=True, enchants=True) trinkets_list = [ 'heroic_bottle_of_infinite_stars', 'bottle_of_infinite_stars', 'lfr_bottle_of_infinite_stars', 'heroic_terror_in_the_mists', 'terror_in_the_mists', 'lfr_terror_in_the_mists', 'relic_of_xuen', 'windswept_pages', 'jade_bandit_figurine', 'hawkmasters_talon', 'windswept_pages', 'searing_words', 'flashing_steel_talisman' ] trinkets_ep_value = calculator.get_other_ep(trinkets_list) trinkets_ep_value[ 'heroic_bottle_of_infinite_stars'] += 1218 * ep_values['mastery'] trinkets_ep_value['bottle_of_infinite_stars'] += 1079 * ep_values['mastery']
test_settings = settings.Settings(test_cycle, pantheon_trinket_users=0, num_boss_adds=0) # Build a DPS object. calculator = AldrianasRogueDamageCalculator(test_stats, test_talents, test_traits, test_buffs, test_race, test_spec, test_settings, test_level) print(str(test_stats.get_character_stats(test_race, test_traits))) # Compute DPS Breakdown. dps_breakdown = calculator.get_dps_breakdown() total_dps = sum(entry[1] for entry in list(dps_breakdown.items())) # Compute EP values. ep_values = calculator.get_ep(baseline_dps=total_dps) #ep_values = calculator.get_ep() tier_ep_values = calculator.get_other_ep(['rogue_t20_2pc', 'rogue_t20_4pc', 'the_first_of_the_dead', 'insignia_of_ravenholdt', 'mantle_of_the_master_assassin', 'specter_of_betrayal', 'golganneths_vitality', 'amanthuls_vision', 'shadowsinged_fang', 'seeping_scourgewing', 'terminus_signaling_beacon', 'gorshalachs_legacy', 'forgefiends_fabricator']) #talent_ranks = calculator.get_talents_ranking() trait_ranks = calculator.get_trait_ranking() def max_length(dict_list): max_len = 0 for i in dict_list: dict_values = list(i.items()) if max_len < max(len(entry[0]) for entry in dict_values): max_len = max(len(entry[0]) for entry in dict_values) return max_len def pretty_print(dict_list):