simulationcraft / simc

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

Darkmoon Faire food buffs not being doubled for Pandaren racial #4233

Closed selgod closed 6 years ago

selgod commented 6 years ago

Please include a brief overview of the issue in the title above, as well as completing the following:

730-03 2018-01-12 Nightly Build

If Simulationcraft is crashing, please include your dxdiag file - Instructions here - https://us.battle.net/support/en/article/Obtaining-System-Files

simc_gui.s

`### Begin GUI options ### ptr=0 item_db_source=ptrhead/local/bcpapi/wowhead target_error=0 iterations=25000 default_world_lag=0.025 max_time=600 vary_combat_length=0.2 fight_style=Patchwerk tmi_window_global=6 optimal_raid=0 override.bloodlust=1 override.bleeding=1 override.mortal_wounds=1 threads=8 process_priority=Low calculate_scale_factors=1 scale_only=int,crit,haste,mastery,vers statistics_level=1

End GUI options

Begin simulateText

mage="Razmodius" origin="https://us.api.battle.net/wow/character/turalyon/Razmodius/advanced" thumbnail="https://render-us.worldofwarcraft.com/character/turalyon/206/146333646-avatar.jpg" spec=frost level=110 race=pandaren_alliance role=spell position=back professions=tailoring=800/enchanting=800 talents=https://worldofwarcraft.com/en-us/game/talent-calculator#mage/frost/talents=2132121 artifact=53:0:0:0:0:783:1:784:4:785:4:786:4:787:4:788:4:789:4:790:4:791:4:792:4:793:1:794:1:795:1:796:1:797:1:798:1:1296:1:1373:1:1537:4:1538:1:1539:1:1540:29:1641:1 crucible=1739:1783:786/1739:1770:1537/1739:1783:788

Default consumables

potion=prolonged_power flask=whispered_pact food=lemon_herb_filet augmentation=defiled

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 actions.precombat+=/water_elemental actions.precombat+=/snapshot_stats actions.precombat+=/mirror_image actions.precombat+=/potion actions.precombat+=/frostbolt

Executed every time the actor is available.

actions=counterspell

Free Ice Lance after Flurry. This action has rather high priority to ensure that we don't cast Rune of Power, Ray of Frost, etc. after Flurry and break up the combo. If FoF was already active, we do not lose anything by delaying the Ice Lance.

actions+=/ice_lance,if=!buff.fingers_of_frost.react&prev_gcd.1.flurry

Time Warp is used right at the start. If the actor has Shard of the Exodar, try to synchronize the second Time Warp with Icy Veins. If the target is about to die, use Time Warp regardless.

actions+=/time_warp,if=buff.bloodlust.down&(buff.exhaustion.down|equipped.shard_of_the_exodar)&(cooldown.icy_veins.remains<1|target.time_to_die<50) actions+=/call_action_list,name=movement,moving=1 actions+=/call_action_list,name=cooldowns actions+=/call_action_list,name=aoe,if=active_enemies>=3 actions+=/call_action_list,name=single

actions.aoe=frostbolt,if=prev_off_gcd.water_jet

Make sure Frozen Orb is used before Blizzard if both are available. This is a small gain with Freezing Rain and on par without.

actions.aoe+=/frozen_orb actions.aoe+=/blizzard actions.aoe+=/comet_storm actions.aoe+=/ice_nova actions.aoe+=/water_jet,if=prev_gcd.1.frostbolt&buff.fingers_of_frost.stack<3&!buff.brain_freeze.react actions.aoe+=/flurry,if=prev_gcd.1.ebonbolt|buff.brain_freeze.react&(prev_gcd.1.glacial_spike|prev_gcd.1.frostbolt) actions.aoe+=/frost_bomb,if=debuff.frost_bomb.remains<action.ice_lance.travel_time&buff.fingers_of_frost.react actions.aoe+=/ice_lance,if=buff.fingers_of_frost.react actions.aoe+=/ebonbolt actions.aoe+=/glacial_spike actions.aoe+=/frostbolt actions.aoe+=/cone_of_cold actions.aoe+=/ice_lance

Rune of Power is used when going into Icy Veins and while Icy Veins are up. Outside of Icy Veins, use Rune of Power when about to cap on charges or the target is about to die.

actions.cooldowns=rune_of_power,if=cooldown.icy_veins.remains<cast_time|charges_fractional>1.9&cooldown.icy_veins.remains>10|buff.icy_veins.up|target.time_to_die+5<charges_fractional*10 actions.cooldowns+=/potion,if=cooldown.icy_veins.remains<1|target.time_to_die<70 actions.cooldowns+=/icy_veins actions.cooldowns+=/mirror_image actions.cooldowns+=/use_items actions.cooldowns+=/blood_fury actions.cooldowns+=/berserking actions.cooldowns+=/arcane_torrent

actions.movement=blink,if=movement.distance>10 actions.movement+=/ice_floes,if=buff.ice_floes.down&!buff.fingers_of_frost.react

In some circumstances, it is possible for both Ice Lance and Ice Nova to benefit from a single Winter's Chill.

actions.single=ice_nova,if=debuff.winters_chill.up actions.single+=/frostbolt,if=prev_off_gcd.water_jet

Basic Water Jet combo. Since Water Jet can only be used if the actor is not casting, we use it right after Frostbolt is executed. At the default distance, Frostbolt travels slightly over 1 s, giving Water Jet enough time to apply the DoT (Water Jet's cast time is 1 s, with haste scaling). The APL then forces another Frostbolt to guarantee getting both FoFs from the Water Jet. This works for most haste values (roughly from 0% to 160%). When changing the default distance, great care must be taken otherwise this action won't produce two FoFs.

actions.single+=/water_jet,if=prev_gcd.1.frostbolt&buff.fingers_of_frost.stack<3&!buff.brain_freeze.react actions.single+=/ray_of_frost,if=buff.icy_veins.up|cooldown.icy_veins.remains>action.ray_of_frost.cooldown&buff.rune_of_power.down

Winter's Chill from Flurry can apply to the spell cast right before (provided the travel time is long enough). This can be exploited to a great effect with Ebonbolt, Glacial Spike (which deal a lot of damage by themselves) and Frostbolt (as a guaranteed way to proc Frozen Veins and Chain Reaction). When using Glacial Spike, it is worth saving a Brain Freeze proc when Glacial Spike is right around the corner (i.e. with 5 Icicles). However, when the actor also has T20 2pc, Glacial Spike is delayed to fit into Frozen Mass, so we do not want to sit on a Brain Freeze proc for too long in that case.

actions.single+=/flurry,if=prev_gcd.1.ebonbolt|buff.brain_freeze.react&(prev_gcd.1.glacial_spike|prev_gcd.1.frostbolt&(!talent.glacial_spike.enabled|buff.icicles.stack<=4|cooldown.frozen_orb.remains<=10&set_bonus.tier20_2pc))

With T20 2pc, Frozen Orb should be used as soon as it comes off CD.

actions.single+=/frozen_orb,if=set_bonus.tier20_2pc&buff.fingers_of_frost.react<3

Freezing Rain Blizzard. While the normal Blizzard action is usually enough, right after Frozen Orb the actor will be getting a lot of FoFs, which might delay Blizzard to the point where we miss out on Freezing Rain. Therefore, if we are not at a risk of overcapping on FoF, use Blizzard before using Ice Lance.

actions.single+=/blizzard,if=cast_time=0&active_enemies>1&buff.fingers_of_frost.react<3 actions.single+=/frost_bomb,if=debuff.frost_bomb.remains<action.ice_lance.travel_time&buff.fingers_of_frost.react actions.single+=/ice_lance,if=buff.fingers_of_frost.react actions.single+=/ebonbolt actions.single+=/frozen_orb actions.single+=/ice_nova actions.single+=/comet_storm

Against low number of targets, Blizzard is used as a filler. Zann'esu buffed Blizzard is used only at 5 stacks.

actions.single+=/blizzard,if=active_enemies>1|buff.zannesu_journey.stack=5&buff.zannesu_journey.remains>cast_time

While Frozen Mass is active, we want to fish for Brain Freeze for the next Glacial Spike. Stop when Frozen Mass is about to run out and we wouldn't be able to cast Glacial Spike in time.

actions.single+=/frostbolt,if=buff.frozen_mass.remains>execute_time+action.glacial_spike.execute_time+action.glacial_spike.travel_time&!buff.brain_freeze.react&talent.glacial_spike.enabled

Glacial Spike is generally used as it is available, unless we have T20 2pc. In that case, Glacial Spike is delayed when Frozen Mass is happening soon (in less than 10 s).

actions.single+=/glacial_spike,if=cooldown.frozen_orb.remains>10|!set_bonus.tier20_2pc actions.single+=/frostbolt

While on the move, use instant Blizzard if available.

actions.single+=/blizzard

Otherwise just use Ice Lance to do at least some damage.

actions.single+=/ice_lance

head=crown_of_the_arcane_tempest,id=147147,bonus_id=3563/1522/3336 neck=vulcanarcore_pendant,id=151965,bonus_id=3612/1507/3336,enchant=mark_of_the_hidden_satyr shoulders=runebound_mantle,id=152141,bonus_id=3611/1487/3528 back=runebound_cape,id=152136,bonus_id=3611/42/1497/3336,enchant=200int chest=runebound_tunic,id=152140,bonus_id=3611/1492/3336 wrists=magtheridons_banished_bracers,id=138140,bonus_id=1811/3630 hands=gloves_of_the_arcane_tempest,id=147146,bonus_id=3563/1517/3336 waist=cord_of_wicked_pyromania,id=137488,bonus_id=3536/1612/3337 legs=runebound_leggings,id=152139,bonus_id=3611/1497/3336 feet=lady_dacidions_silk_slippers,id=151945,bonus_id=3611/1487/3528 finger1=shard_of_the_exodar,id=132410,bonus_id=3459/3630,gems=200haste,enchant=200haste finger2=seal_of_the_portalmaster,id=152063,bonus_id=3612/1507/3336,enchant=200haste trinket1=unstable_arcanocrystal,id=141482,bonus_id=3573/1527/3336 trinket2=norgannons_prowess,id=154177,bonus_id=3984/3991 main_hand=ebonchill,id=128862,bonus_id=731,gem_id=152041/152024/152041/0,relic_id=3611:1502:3337/3612:1502:3528/3611:1502:3337/0

Gear Summary

gear_ilvl=958.33

gear_stamina=56040

gear_intellect=53797

gear_crit_rating=10984

gear_haste_rating=10337

gear_mastery_rating=5761

gear_versatility_rating=9812

gear_speed_rating=489

gear_armor=2340

set_bonus=tier20_2pc=1

set_bonus=tier21_2pc=1

set_bonus=tier21_4pc=1

End simulateText

desired_targets=1

Begin overrides

User-specified persistent global and player parameters will be set here.

End overrides

Begin final options

End final options

END ###`

Reproduction Steps:

On my Pandaren mage I simmed using the food buffs from Lavish Suramar Feast and Lemon Herb Filet. I saw that I was getting the 1000 intellect increase from Lavish Suramar Feast (500 primary stat * 2 from Pandaren food buff), but when I checked my stats for the Lemon Herb Filet (1% Vers increase) sim, it only increased my Vers by 1% and not 2%. I checked in WoW and confirmed that my Vers is increasing by 2% from the Lemon Herb Filet buff.

vituscze commented 6 years ago

Food works correctly for pandaren, but turns out there are also pandaren_alliance and pandaren_horde. I'll fix that.

vituscze commented 6 years ago

Fixed in 9bfa1212d614ce4fcc38627a7bb7c59d93fc0c4c