simulationcraft / simc

Simulationcraft engine/GUI
GNU General Public License v3.0
1.4k stars 692 forks source link

[Tank] Possible TMI Issue #1858

Closed navv1234 closed 9 years ago

navv1234 commented 9 years ago

Originally reported on Google Code with ID 1859

What steps will reproduce the problem?
Sim this with code through r17387 (report attached)

### Begin GUI options ###
ptr=1
item_db_source=local/bcpapi/wowhead/ptrhead
iterations=10000
dps_plot_iterations=1000
default_world_lag=0.1
default_aura_delay=0.5
max_time=450
vary_combat_length=0.2
fight_style=Patchwerk
enemy=TMI_Standard_Boss_T16Q
tmi_boss=T16Q
role=tank
position=front
default_skill=1.0
optimal_raid=0
override.attack_power_multiplier=1
override.attack_speed=1
override.spell_power_multiplier=1
override.spell_haste=1
override.critical_strike=1
override.mastery=1
override.stamina=1
override.str_agi_int=1
override.bloodlust=1
override.skull_banner=1
override.stormlash=1
override.bleeding=1
override.physical_vulnerability=1
override.ranged_vulnerability=1
override.magic_vulnerability=1
override.weakened_armor=1
override.weakened_blows=1
threads=1
calculate_scale_factors=1
scale_only=none,str,sta,exp,hit,crit,haste,mastery,armor,dodge,parry
scale_over=tmi
dps_plot_stat=none
dps_plot_points=20
dps_plot_step=100
reforge_plot_stat=none
reforge_plot_amount=200
reforge_plot_step=50
statistics_level=1
### End GUI options ###
### Begin simulateText ###
#!./simc

warrior="Tehpounderer"
origin="http://us.battle.net/wow/en/character/eonar/Tehpounderer/advanced"
thumbnail="http://us.battle.net/static-render/us/eonar/38/7109670-avatar.jpg"
level=90
race=orc
role=tank
position=front
professions=engineering=600/blacksmithing=600
talents=http://us.battle.net/wow/en/tool/talent-calculator#Zb!001221
glyphs=unending_rage/heavy_repercussions/hold_the_line/blazing_trail/thunder_strike/intimidating_shout
spec=protection

# This default action priority list is automatically created based on your character.
# It is a attempt to provide you with a action list that is both simple and practicable,
# while resulting in a meaningful and good simulation. It may not result in the absolutely
highest possible dps.
# Feel free to edit, adapt and improve it to your own needs.
# SimulationCraft is always looking for updates and improvements to the default action
lists.

# Executed before combat begins. Accepts non-harmful actions only.

actions.precombat=flask,type=earth
actions.precombat+=/food,type=great_pandaren_banquet
actions.precombat+=/snapshot_stats
actions.precombat+=/stance,choose=defensive
actions.precombat+=/battle_shout
actions.precombat+=/berserker_rage
actions.precombat+=/mogu_power_potion

# Executed every time the actor is available.

actions=auto_attack
actions+=/berserker_rage,if=buff.enrage.down&rage<=rage.max-10
actions+=/shield_wall,if=incoming_damage_2500ms>health.max*0.6
actions+=/last_stand,if=incoming_damage_2500ms>health.max*0.6&buff.shield_wall.down
actions+=/run_action_list,name=dps_cds,if=stat.attack_power>health.max*0.20
actions+=/run_action_list,name=normal_rotation

actions.normal_rotation=/heroic_strike,if=buff.ultimatum.up
actions.normal_rotation+=/shield_slam,if=rage<75
actions.normal_rotation+=/revenge,if=rage<75
actions.normal_rotation+=/battle_shout,if=rage<80
actions.normal_rotation+=/shield_block
actions.normal_rotation+=/shield_barrier,if=buff.shield_barrier.down&rage>80
actions.normal_rotation+=/thunder_clap,if=target.debuff.weakened_blows.down
actions.normal_rotation+=/demoralizing_shout
actions.normal_rotation+=/impending_victory,if=talent.impending_victory.enabled
actions.normal_rotation+=/victory_rush,if=!talent.impending_victory.enabled
actions.normal_rotation+=/devastate

actions.dps_cds=/mogu_power_potion
actions.dps_cds+=/avatar,if=talent.avatar.enabled
actions.dps_cds+=/bloodbath,if=talent.bloodbath.enabled
actions.dps_cds+=/blood_fury,if=talent.bloodbath.enabled
actions.dps_cds+=/dragon_roar,if=talent.dragon_roar.enabled
actions.dps_cds+=/shattering_throw
actions.dps_cds+=/skull_banner
actions.dps_cds+=/recklessness
actions.dps_cds+=/storm_bolt,if=talent.storm_bolt.enabled
actions.dps_cds+=/run_action_list,name=normal_rotation

 legs=legguards_of_the_prehistoric_marauder,id=99410,upgrade=2,gems=160dodge_120sta_160dodge_120sta,enchant=430sta_165dodge
shoulders=shoulderguards_of_the_last_mogu,id=96739,stats=4661armor_1147str_1960sta_791hit_791mastery,gems=240sta_240sta,enchant=300sta_100dodge,reforge=hit_dodge
chest=chestguard_of_the_last_mogu,id=96735,stats=6215armor_1519str_2639sta_1023dodge_1070parry,gems=240sta_240sta_240sta,enchant=300sta,reforge=parry_mastery
wrists=bracers_of_constant_implosion,id=96747,stats=2766armor_957str_1555sta_1024exp,gems=240sta,enchant=170mastery,reforge=exp_mastery
feet=lightningwalker_clawfeet,id=95011,stats=4347armor_1222str_2073sta_738dodge_889mastery,gems=160mastery_120sta_240sta_120str,enchant=140mastery,reforge=dodge_exp
off_hand=greatshield_of_the_gloaming,id=96884,stats=20279armor_957str_1555sta_658dodge_637mastery,gems=240sta,enchant=170parry
main_hand=worldbreakers_stormscythe,id=96748,stats=717str_1196sta_559hit_376exp,gems=240sta_240sta_60str,enchant=rivers_song,reforge=exp_mastery,weapon=axe_2.6speed_9172min_17036max
waist=cracklesnap_clasp,id=95002,stats=3556armor_1222str_2073sta_911parry_735hit,gems=240sta_240sta_240sta_180sta,reforge=parry_mastery
head=faceguard_of_the_prehistoric_marauder,id=99409,upgrade=2,gems=indomitable_primal_160parry_120sta,reforge=mastery_dodge
finger2=radens_ruinous_ring,id=95022,stats=957str_1555sta_754haste_493exp,gems=240sta_60str,reforge=haste_mastery
neck=moonjade_necklace,id=96916,stats=957str_1555sta_651dodge_651exp,gems=160exp_120sta_90sta,reforge=exp_mastery
back=oxhorn_bladebreaker,id=98146,stats=1525armor_1716str_2694sta_918dodge_918parry_918mastery,gems=160exp_120sta_90sta,enchant=200sta,reforge=parry_exp
hands=handguards_of_the_last_mogu,id=96736,stats=3884armor_1227str_1960sta_961dodge_614exp,gems=240sta,enchant=150sta,reforge=dodge_mastery
finger1=durumus_severed_tentacle,id=96853,stats=957str_1555sta_641dodge_648hit,gems=240sta,reforge=hit_mastery
trinket2=jikuns_rising_winds,id=96843,stats=1752exp,reforge=exp_mastery
trinket1=soul_barrier,id=96927,stats=2628sta

### END ###
### End simulateText ###
### Begin overrides ###
# User-specified persistent global and player parms will set here.

### End overrides ###
### Begin command line ###

### End command line ###
### Begin final options ###
### End final options ###
### END ###

What is the expected output? What do you see instead?

I don't expect to see Strength contributing to TMI at the rate demonstrated.  

It is practically as good as parry/dodge and as far as I can see it should only contribute
to TMI at the rate it converts to Parry.  What am I missing?

Also, the margin of error on the TMI weights is huge.  Any tips on how to narrow this?
 Does it have more to do with the range of TMI values or the number of iterations?

Reported by maynard.matt.a on 2013-08-27 15:31:26


navv1234 commented 9 years ago

Reported by philoptik on 2013-08-27 19:14:12

navv1234 commented 9 years ago
I'm not sure what the concern is.  Here's the stat weights from the attached html file:

Stat   Scale Factor
Str     -0.69
Sta     -1.55
Exp     -1.39
Crit    -0.45
Haste   -0.03   
Mastery -1.30
Armor   -0.80
Dodge   -0.80
Parry   -0.92

From this, strength is actually less effective than dodge or parry, not more.  And
remember that every point of strength gives approximately 1 parry rating worth of parry,
so they should be pretty close.

More importantly, the uncertainties in that report are +/- 0.45, which means you can't
really say anything significant about the relative worth of strength, dodge, and parry.
 Within experimental uncertainty, they're all identical.

Reported by theckhd on 2013-08-27 21:18:34

navv1234 commented 9 years ago
Ok, I had it my head that the Str didn't convert into Parry at 1:1 so that makes sense.
 Can you give any pointers to reduce the margin of error?  Just throw more iterations
at it?

Reported by maynard.matt.a on 2013-08-27 22:02:03

navv1234 commented 9 years ago
Pretty much.  10k is usually pretty good for paladins, but it may take more iterations
for warriors.  

Reported by theckhd on 2013-08-27 22:09:30

navv1234 commented 9 years ago
I just ran the profile with 500k iterations. Results are pretty reasonable (error +-
0.05_

Str Agi Sta AP  Exp InvExp  Hit Crit    Haste   Mastery Wdps    Armor   Dodge   Parry   BlockR
Scale Factors   -0.46   0.00    -1.35   0.00    -1.87   0.00    0.00    -0.26   -0.00   -0.95   0.00    -0.70   -0.67   -0.68   0.00

Reported by dr.max.moellers on 2013-08-28 13:06:10

navv1234 commented 9 years ago
I just ran the profile with 50k iterations making just these one change to drop some
hit (but still over cap)

reforge hit to dodge on the waist

everything looked good except Hit which had values all over the place and ended up
with a value 15x larger than any other stat with a margin of error twice as big as
the bar itself.  Does this sound like normal behavior for a stat with a hardcap?

Reported by Shat.Eonar on 2013-08-28 13:50:41

navv1234 commented 9 years ago
    Str Agi Sta AP  Exp InvExp  Hit Crit    Haste   Mastery Wdps    Armor   Dodge   Parry   BlockR
Scale Factors   -0.37   0.00    -1.30   0.00    -1.88   0.00    -19.21  -0.27   -0.02   -0.84   0.00    -0.69   -0.64   -0.67   0.00

Reported by Shat.Eonar on 2013-08-28 13:51:43

navv1234 commented 9 years ago
yea. hit calc can be buggy depending on how far it is over cap.

Reported by dr.max.moellers on 2013-08-28 14:51:13

navv1234 commented 9 years ago
Fixed

Reported by dr.max.moellers on 2013-08-30 22:55:42