simulationcraft / simc

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

Glory of the Dawn Incorrect Proc Rate #4756

Closed Vanishoxyact closed 4 years ago

Vanishoxyact commented 5 years ago

Describe the bug

The Glory of the Dawn azerite trait seems to proc roughly twice as often in the sims then in game. To compare, I logged around an hours worth of fights against target dummies and compared the results with the simulated results. The simulated results had roughly twice as many procs as ingame.

Expected behavior

I expected the proc rate to be fairly consistent between the game and the simulation, at least over a long period of time, perhaps even with some fights in game having more procs than the sim due to rng. The ingame fights were always way below the simulated procs.

To Reproduce

In simulation craft, I used the following simc with duration set to 10 mins, and all buffs/debuffs disabled aside from mystic touch.

monk="Pandavanish"
source=blizzard
origin="https://worldofwarcraft.com/en-gb/character/aggramar/pandavanish"
thumbnail="https://render-eu.worldofwarcraft.com/character/aggramar/23/63131415-avatar.jpg"
spec=windwalker
level=120
race=pandaren_alliance
role=dps
position=back
professions=alchemy=132/herbalism=150
talents=https://worldofwarcraft.com/en-gb/game/talent-calculator#monk/windwalker/talents=2222232

# Default consumables
potion=bursting_blood
flask=currents
food=bountiful_captains_feast
augmentation=battle_scarred

# 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
#actions.precombat+=/food
#actions.precombat+=/augmentation
# Snapshot raid buffed stats before combat begins and pre-potting is done.
actions.precombat+=/snapshot_stats
#actions.precombat+=/potion
actions.precombat+=/chi_burst,if=(!talent.serenity.enabled|!talent.fist_of_the_white_tiger.enabled)
actions.precombat+=/chi_wave

# Executed every time the actor is available.
actions=auto_attack
actions+=/spear_hand_strike,if=target.debuff.casting.react
# Touch of Karma on cooldown, if Good Karma is enabled equal to 100% of maximum health
#actions+=/touch_of_karma,interval=90,pct_health=0.5
# Potion if Serenity or Storm, Earth, and Fire are up or you are running serenity and a main stat trinket procs, or you are under the effect of bloodlust, or target time to die is greater or equal to 60
#actions+=/potion,if=buff.serenity.up|buff.storm_earth_and_fire.up|(!talent.serenity.enabled&trinket.proc.agility.react)|buff.bloodlust.react|target.time_to_die<=60
actions+=/call_action_list,name=serenity,if=buff.serenity.up
actions+=/fist_of_the_white_tiger,if=(energy.time_to_max<1|(talent.serenity.enabled&cooldown.serenity.remains<2))&chi.max-chi>=3
actions+=/tiger_palm,target_if=min:debuff.mark_of_the_crane.remains,if=(energy.time_to_max<1|(talent.serenity.enabled&cooldown.serenity.remains<2))&chi.max-chi>=2&!prev_gcd.1.tiger_palm
actions+=/call_action_list,name=cd
# Call the ST action list if there are 2 or less enemies
actions+=/call_action_list,name=st,if=active_enemies<3
# Call the AoE action list if there are 3 or more enemies
actions+=/call_action_list,name=aoe,if=active_enemies>=3

# Actions.AoE is intended for use with Hectic_Add_Cleave and currently needs to be optimized
actions.aoe=rising_sun_kick,target_if=min:debuff.mark_of_the_crane.remains,if=(talent.whirling_dragon_punch.enabled&cooldown.whirling_dragon_punch.remains<5)&cooldown.fists_of_fury.remains>3
actions.aoe+=/whirling_dragon_punch
actions.aoe+=/energizing_elixir,if=!prev_gcd.1.tiger_palm&chi<=1&energy<50
actions.aoe+=/fists_of_fury,if=energy.time_to_max>3
actions.aoe+=/rushing_jade_wind,if=buff.rushing_jade_wind.down
actions.aoe+=/spinning_crane_kick,if=!prev_gcd.1.spinning_crane_kick&(((chi>3|cooldown.fists_of_fury.remains>6)&(chi>=5|cooldown.fists_of_fury.remains>2))|energy.time_to_max<=3)
actions.aoe+=/chi_burst,if=chi<=3
actions.aoe+=/fist_of_the_white_tiger,if=chi.max-chi>=3
actions.aoe+=/tiger_palm,target_if=min:debuff.mark_of_the_crane.remains,if=chi.max-chi>=2&(!talent.hit_combo.enabled|!prev_gcd.1.tiger_palm)
actions.aoe+=/chi_wave
actions.aoe+=/flying_serpent_kick,if=buff.bok_proc.down,interrupt=1
actions.aoe+=/blackout_kick,target_if=min:debuff.mark_of_the_crane.remains,if=!prev_gcd.1.blackout_kick&(buff.bok_proc.up|(talent.hit_combo.enabled&prev_gcd.1.tiger_palm&chi<4))

# Cooldowns
actions.cd=invoke_xuen_the_white_tiger
actions.cd+=/blood_fury
actions.cd+=/berserking
# Use Arcane Torrent if you are missing at least 1 Chi and won't cap energy within 0.5 seconds
actions.cd+=/arcane_torrent,if=chi.max-chi>=1&energy.time_to_max>=0.5
actions.cd+=/lights_judgment
actions.cd+=/fireblood
actions.cd+=/ancestral_call
actions.cd+=/touch_of_death,if=target.time_to_die>9
actions.cd+=/storm_earth_and_fire,if=cooldown.storm_earth_and_fire.charges=2|(cooldown.fists_of_fury.remains<=6&chi>=3&cooldown.rising_sun_kick.remains<=1)|target.time_to_die<=15
actions.cd+=/serenity,if=cooldown.rising_sun_kick.remains<=2|target.time_to_die<=12

# Serenity priority
actions.serenity=rising_sun_kick,target_if=min:debuff.mark_of_the_crane.remains,if=active_enemies<3|prev_gcd.1.spinning_crane_kick
actions.serenity+=/fists_of_fury,if=(buff.bloodlust.up&prev_gcd.1.rising_sun_kick)|buff.serenity.remains<1|(active_enemies>1&active_enemies<5)
actions.serenity+=/spinning_crane_kick,if=!prev_gcd.1.spinning_crane_kick&(active_enemies>=3|(active_enemies=2&prev_gcd.1.blackout_kick))
actions.serenity+=/blackout_kick,target_if=min:debuff.mark_of_the_crane.remains

actions.st=whirling_dragon_punch
actions.st+=/rising_sun_kick,target_if=min:debuff.mark_of_the_crane.remains,if=chi>=5
actions.st+=/fists_of_fury,if=energy.time_to_max>3
actions.st+=/rising_sun_kick,target_if=min:debuff.mark_of_the_crane.remains
actions.st+=/spinning_crane_kick,if=!prev_gcd.1.spinning_crane_kick&buff.dance_of_chiji.up
actions.st+=/rushing_jade_wind,if=buff.rushing_jade_wind.down&active_enemies>1
actions.st+=/fist_of_the_white_tiger,if=chi<=2
actions.st+=/energizing_elixir,if=chi<=3&energy<50
actions.st+=/blackout_kick,target_if=min:debuff.mark_of_the_crane.remains,if=!prev_gcd.1.blackout_kick&(cooldown.rising_sun_kick.remains>3|chi>=3)&(cooldown.fists_of_fury.remains>4|chi>=4|(chi=2&prev_gcd.1.tiger_palm))&buff.swift_roundhouse.stack<2
actions.st+=/chi_wave
actions.st+=/chi_burst,if=chi.max-chi>=1&active_enemies=1|chi.max-chi>=2
actions.st+=/tiger_palm,target_if=min:debuff.mark_of_the_crane.remains,if=!prev_gcd.1.tiger_palm&chi.max-chi>=2
#actions.st+=/flying_serpent_kick,if=prev_gcd.1.blackout_kick&chi>3&buff.swift_roundhouse.stack<2,interrupt=1

head=tidemothers_cover,id=165819,bonus_id=4822/1507/4786/5414/4775,azerite_powers=13/15/30/117/388
neck=heart_of_azeroth,id=158075,bonus_id=4936/4929/4930,azerite_level=38
shoulders=pistoleers_spaulders,id=159331,bonus_id=5445/1572/4786/5418,azerite_powers=31/390/184
back=silverback_cloak,id=165513,bonus_id=4799/1522/4786
chest=fairweather_tunic,id=158038,bonus_id=1577/4786/5413,azerite_powers=14/461/478/391
wrists=blood_elders_bindings,id=159324,bonus_id=5010/1572/4786
hands=sharkhide_grips,id=155889,bonus_id=5010/41/1582/4783
waist=unscrupulous_geologists_belt,id=159725,bonus_id=5010/1572/4786
legs=shambling_berserkers_leggings,id=155869,bonus_id=5010/41/1582/4783
feet=mosscovered_wingtip_shoes,id=159347,bonus_id=5010/42/1572/4786
finger1=overseers_lost_seal,id=159460,bonus_id=5010/41/1572/4786,enchant=27vers
finger2=band_of_multisided_strikes,id=165565,bonus_id=4799/1522/4786,enchant=27vers
trinket1=spirited_alchemist_stone,id=165927
trinket2=harlans_loaded_dice,id=155881,bonus_id=5010/1542/4786
main_hand=bilestained_crawg_tusks,id=159653,bonus_id=5010/1572/4786,enchant=versatile_navigation
off_hand=sinister_wicker_talons,id=159659,bonus_id=5010/1572/4786,enchant=deadly_navigation

# Gear Summary
# gear_ilvl=397.75
# gear_agility=4394
# gear_stamina=8716
# gear_crit_rating=829
# gear_haste_rating=401
# gear_mastery_rating=985
# gear_versatility_rating=1007
# gear_leech_rating=280
# gear_speed_rating=84
# gear_armor=2074

And here are some of the comparison logs: https://www.warcraftlogs.com/reports/9aKDgwpjxf3XLBTq https://www.warcraftlogs.com/reports/XB8rTGxAz2C1qYmJ

Additional information

SimC version 810.02

Azevara commented 5 years ago

Logs you linked look to show approximately the correct proc rate, but sim is showing much lower than the stated 25% in the tooltip. Is this https://www.raidbots.com/simbot/report/dQntcpGYmi4jb8X463rLJp/simc (16 GotD procs out of 130 RSKs) the issue you were referring to?

Vanishoxyact commented 5 years ago

Ahh I was looking at the proc rate of the resource gain, which is coming out at 32, rather than the expected 16. I believe a proc rate of 16 is correct in this case, as the spell was only cast 65 times (130 is due to off hand hits I believe).

I believe the issue is related to the resource gain proc instead then, as this is still coming out twice as high as expected (32), and thus during the sim there is additional chi available which shouldn't be.

Azevara commented 5 years ago

I can confirm this:

31.052 Player 'test' glory_of_the_dawn hits Player 'Fluffy_Pillow' for 0 physical damage (hit)
31.052 test gains 1.00 (1.00) chi from glory_of_the_dawn (4.00/5.00)
31.052 test gains 1.00 (1.00) chi from glory_of_the_dawn (5.00/5.00)

Chi gains in simc are proccing twice for the trait, although I am not familiar enough with the RSK spell structure in simc to immediately identify why.

I used

monk="test"
source=default
spec=windwalker
level=120
race=none
role=dps
position=back

# Default consumables
potion=bursting_blood
flask=currents
food=bountiful_captains_feast
augmentation=battle_scarred

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

# Executed every time the actor is available.
actions=rising_sun_kick
actions+=/tiger_palm

head=dummy,azerite_powers=glory_of_the_dawn
main_hand=dummy,weapon=polearm

# Gear Summary
# gear_ilvl=0.00

with optimal_raid=0 to test.

Melekus commented 4 years ago

Fixed in https://github.com/simulationcraft/simc/commit/d8db525dd9b7dc0097e33e57a91ec4ce713e8f11