Ok, lots of updates in r86, hopefully addressing some of the concerns people were sending me about freezing/locking (especially for Elemental). I'll leave it marked as beta for now, but it should be a massive improvement for everyone.
You can read the details on CurseForge if you want, but the short version is that I went back and optimized the engine significantly, with good results. The addon can now complete an entire cycle in about half the time it did yesterday (56.7%, to be precise).
Additionally, I added the option to turn the debug tooltips on/off. While they're not a big resource hog (anymore), turning them off will hack off another ~2.5%. When you open up the configuration UI, you'll see "Debug" where "Verbose" used to be. Check it if you want to be able to pause and troubleshoot your action lists; disable it otherwise.
Finally, for Elemental Shamans, I tweaked each of your action lists. You'll have to reset your profile to get them, though I'll post the import strings here if you want to just manually load each one.
Even with tweaks, I'm not happy with the Cleave action list, but I won't have time this evening to run simulations to test something different. I'll happily accept custom action lists, if anybody is writing their own. PM me.
@Elemental, Single Target:
Code:
^1^T^SName^S@Elemental,~`Single~`Target^SSpecialization^N262^SActions^T^N1^T^SAbility^Sliquid_magma^SName^SLiquid~`Magma^SScript^Stotem.fire.remains>=15^SEnabled^B^t^N2^T^SAbility^Sancestral_swiftness^SName^SAncestral~`Swiftness^SScript^S!buff.ascendance.up^SEnabled^B^t^N3^T^SAbility^Sunleash_flame^SName^SUnleash~`Flame^SScript^Stalent.unleashed_fury.enabled&!buff.ascendance.up^SEnabled^B^t^N4^T^SEnabled^B^SName^SSpiritwalker's~`Grace^SArgs^S^SAbility^Sspiritwalkers_grace^SScript^Sbuff.ascendance.up&moving^t^N5^T^SAbility^Searth_shock^SName^SEarth~`Shock^SScript^Sbuff.lightning_shield.react=buff.lightning_shield.max_stack^SEnabled^B^t^N6^T^SAbility^Slava_burst^SName^SLava~`Burst^SScript^Sdot.flame_shock.remains>cast_time&(buff.ascendance.up|cooldown_react)^SEnabled^B^t^N7^T^SAbility^Sflame_shock^SName^SFlame~`Shock^SScript^Sdot.flame_shock.remains<=9^SEnabled^B^t^N8^T^SAbility^Searth_shock^SName^SEarth~`Shock~`(1)^SScript^S(set_bonus.tier17_4pc&buff.lightning_shield.react>=15&!buff.lava_surge.up)|(!set_bonus.tier17_4pc&buff.lightning_shield.react>15)^SEnabled^B^t^N9^T^SAbility^Searthquake^SName^SEarthquake^SScript^S!talent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=(1.5+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&buff.elemental_mastery.down&buff.bloodlust.down^SEnabled^B^t^N10^T^SAbility^Searthquake^SName^SEarthquake~`(1)^SScript^S!talent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=1.3*(1.5+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&(buff.elemental_mastery.up|buff.bloodlust.up)^SEnabled^B^t^N11^T^SAbility^Searthquake^SName^SEarthquake~`(2)^SScript^S!talent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=(1.5+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&(buff.elemental_mastery.remains>=10|buff.bloodlust.remains>=10)^SEnabled^B^t^N12^T^SAbility^Searthquake^SName^SEarthquake~`(3)^SScript^Stalent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=((1.3*1.5)+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&buff.elemental_mastery.down&buff.bloodlust.down^SEnabled^B^t^N13^T^SAbility^Searthquake^SName^SEarthquake~`(4)^SScript^Stalent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=1.3*((1.3*1.5)+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&(buff.elemental_mastery.up|buff.bloodlust.up)^SEnabled^B^t^N14^T^SAbility^Searthquake^SName^SEarthquake~`(5)^SScript^Stalent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=((1.3*1.5)+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&(buff.elemental_mastery.remains>=10|buff.bloodlust.remains>=10)^SEnabled^B^t^N15^T^SEnabled^B^SName^SElemental~`Blast^SAbility^Selemental_blast^t^N16^T^SAbility^Sflame_shock^SName^SFlame~`Shock~`(1)^SScript^Stime>60&remains<=buff.ascendance.duration&cooldown.ascendance.remains+buff.ascendance.duration<duration^SEnabled^B^t^N17^T^SAbility^Ssearing_totem^SName^SSearing~`Totem^SScript^S(!talent.liquid_magma.enabled&!totem.fire.active)|(talent.liquid_magma.enabled&pet.searing_totem.remains<=20&!pet.fire_elemental_totem.active&!buff.liquid_magma.up)^SEnabled^B^t^N18^T^SEnabled^B^SName^SSpiritwalker's~`Grace~`(1)^SArgs^S^SAbility^Sspiritwalkers_grace^SScript^Smoving&((talent.elemental_blast.enabled&cooldown.elemental_blast.remains=0)|(cooldown.lava_burst.remains=0&!buff.lava_surge.react))^t^N19^T^SEnabled^B^SName^SLightning~`Bolt^SAbility^Slightning_bolt^t^t^SScript^S^t^^
@Elemental, 2-4 Cleave:
Code:
^1^T^SEnabled^B^SName^S@Elemental,~`2-4~`Cleave^SAbility^Slightning_bolt^SScript^S^SActions^T^N1^T^SEnabled^B^SAbility^Sliquid_magma^SName^SLiquid~`Magma^SScript^Stotem.fire.remains>=15^t^N2^T^SEnabled^B^SAbility^Sancestral_swiftness^SName^SAncestral~`Swiftness^SScript^S!buff.ascendance.up^t^N3^T^SEnabled^B^SAbility^Searthquake^SName^SEarthquake~`(0)^SScript^S!perk.improved_chain_lightning.enabled|buff.improved_chain_lightning.up^t^N4^T^SEnabled^B^SAbility^Schain_lightning^SName^SChain~`Lightning^SScript^Sactive_enemies>2&!buff.improved_chain_lightning.up&cooldown.earthquake.remains>=cast_time^t^N5^T^SEnabled^B^SAbility^Sunleash_flame^SName^SUnleash~`Flame^SScript^Stalent.unleashed_fury.enabled&!buff.ascendance.up^t^N6^T^SEnabled^B^SName^SSpiritwalker's~`Grace^SArgs^S^SAbility^Sspiritwalkers_grace^SScript^Sbuff.ascendance.up&moving^t^N7^T^SEnabled^B^SAbility^Searth_shock^SName^SEarth~`Shock^SScript^Sbuff.lightning_shield.react=buff.lightning_shield.max_stack^t^N8^T^SEnabled^B^SAbility^Slava_burst^SName^SLava~`Burst^SScript^Sdot.flame_shock.remains>cast_time&(buff.ascendance.up|cooldown_react)^t^N9^T^SEnabled^B^SAbility^Sflame_shock^SName^SFlame~`Shock^SScript^Sdot.flame_shock.remains<=9^t^N10^T^SEnabled^B^SAbility^Searth_shock^SName^SEarth~`Shock~`(1)^SScript^S(set_bonus.tier17_4pc&buff.lightning_shield.react>=15&!buff.lava_surge.up)|(!set_bonus.tier17_4pc&buff.lightning_shield.react>15)^t^N11^T^SEnabled^B^SAbility^Searthquake^SName^SEarthquake^SScript^S!talent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=(1.5+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&buff.elemental_mastery.down&buff.bloodlust.down^t^N12^T^SEnabled^B^SAbility^Searthquake^SName^SEarthquake~`(1)^SScript^S!talent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=1.3*(1.5+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&(buff.elemental_mastery.up|buff.bloodlust.up)^t^N13^T^SEnabled^B^SAbility^Searthquake^SName^SEarthquake~`(2)^SScript^S!talent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=(1.5+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&(buff.elemental_mastery.remains>=10|buff.bloodlust.remains>=10)^t^N14^T^SEnabled^B^SAbility^Searthquake^SName^SEarthquake~`(3)^SScript^Stalent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=((1.3*1.5)+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&buff.elemental_mastery.down&buff.bloodlust.down^t^N15^T^SEnabled^B^SAbility^Searthquake^SName^SEarthquake~`(4)^SScript^Stalent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=1.3*((1.3*1.5)+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&(buff.elemental_mastery.up|buff.bloodlust.up)^t^N16^T^SEnabled^B^SAbility^Searthquake^SName^SEarthquake~`(5)^SScript^Stalent.unleashed_fury.enabled&((1+stat.spell_haste)*(1+(mastery_value*2%4.5))>=((1.3*1.5)+(1.25*0.226305)+1.25*(2*0.226305*stat.multistrike_pct%100)))&target.time_to_die>10&(buff.elemental_mastery.remains>=10|buff.bloodlust.remains>=10)^t^N17^T^SEnabled^B^SName^SElemental~`Blast^SAbility^Selemental_blast^t^N18^T^SEnabled^B^SAbility^Sflame_shock^SName^SFlame~`Shock~`(1)^SScript^Stime>60&remains<=buff.ascendance.duration&cooldown.ascendance.remains+buff.ascendance.duration<duration^t^N19^T^SEnabled^B^SAbility^Ssearing_totem^SName^SSearing~`Totem^SScript^S(!talent.liquid_magma.enabled&!totem.fire.active)|(talent.liquid_magma.enabled&pet.searing_totem.remains<=20&!pet.fire_elemental_totem.active&!buff.liquid_magma.up)^t^N20^T^SEnabled^B^SName^SSpiritwalker's~`Grace~`(1)^SArgs^S^SAbility^Sspiritwalkers_grace^SScript^Smoving&((talent.elemental_blast.enabled&cooldown.elemental_blast.remains=0)|(cooldown.lava_burst.remains=0&!buff.lava_surge.react))^t^N21^T^SEnabled^B^SAbility^Schain_lightning^SName^SChain~`Lightning~`(1)^SScript^Sactive_enemies>1^t^N22^T^SAbility^Slightning_bolt^SName^SLightning~`Bolt^SScript^S^SEnabled^B^t^t^SSpecialization^N262^t^^
@Elemental, AOE:
Code:
^1^T^SActions^T^N1^T^SEnabled^B^SAbility^Sancestral_swiftness^SName^SAncestral~`Swiftness^SScript^S!buff.ascendance.up^t^N2^T^SEnabled^B^SAbility^Sliquid_magma^SName^SLiquid~`Magma^SScript^Spet.searing_totem.remains>=15|pet.fire_elemental_totem.remains>=15^t^N3^T^SEnabled^B^SAbility^Searthquake^SName^SEarthquake^SScript^S(!perk.enhanced_chain_lightning.enabled|buff.improved_chain_lightning.up)&active_enemies>=2^t^N4^T^SEnabled^B^SName^SLava~`Beam^SAbility^Slava_beam^t^N5^T^SEnabled^B^SAbility^Searth_shock^SName^SEarth~`Shock^SScript^Sbuff.lightning_shield.react=buff.lightning_shield.max_stack^t^N6^T^SEnabled^B^SAbility^Sthunderstorm^SName^SThunderstorm^SScript^Sactive_enemies>=10^t^N7^T^SEnabled^B^SAbility^Ssearing_totem^SName^SSearing~`Totem^SScript^S(!talent.liquid_magma.enabled&!totem.fire.active)|(talent.liquid_magma.enabled&pet.searing_totem.remains<=20&!pet.fire_elemental_totem.active&!buff.liquid_magma.up)^t^N8^T^SEnabled^B^SAbility^Schain_lightning^SName^SChain~`Lightning^SScript^Sactive_enemies>=2^t^N9^T^SEnabled^B^SName^SLightning~`Bolt^SAbility^Slightning_bolt^t^t^SScript^S^SSpecialization^N262^SName^S@Elemental,~`AOE^t^^
@Elemental, Cooldowns:
Code:
^1^T^SEnabled^B^SSpecialization^N262^SAbility^Sbloodlust^SScript^S^SActions^T^N1^T^SEnabled^b^SAbility^Sbloodlust^SName^SBloodlust^SScript^Starget.health_pct<25|time>0.500^t^N2^T^SAbility^Sheroism^SName^SHeroism^SScript^Starget.health_pct<25|time>0.500^SEnabled^b^t^N3^T^SEnabled^B^SAbility^Sberserking^SName^SBerserking^SScript^S!buff.bloodlust.up&!buff.elemental_mastery.up&(set_bonus.tier15_4pc_caster=1|(buff.ascendance.cooldown_remains=0&(dot.flame_shock.remains>buff.ascendance.duration|level<87)))^t^N4^T^SEnabled^B^SAbility^Sblood_fury^SName^SBlood~`Fury^SScript^Sbuff.bloodlust.up|buff.ascendance.up|((cooldown.ascendance.remains>10|level<87)&cooldown.fire_elemental_totem.remains>10)^t^N5^T^SEnabled^B^SAbility^Selemental_mastery^SName^SElemental~`Mastery^SScript^Saction.lava_burst.cast_time>=1.2^t^N6^T^SEnabled^B^SName^SStorm~`Elemental~`Totem^SAbility^Sstorm_elemental_totem^t^N7^T^SEnabled^B^SAbility^Sfire_elemental_totem^SName^SFire~`Elemental~`Totem^SScript^S!active^t^N8^T^SEnabled^B^SAbility^Sascendance^SName^SAscendance^SScript^Sactive_enemies>1|(dot.flame_shock.remains>buff.ascendance.duration&cooldown.lava_burst.remains>0)^t^t^SName^S@Elemental,~`Cooldowns^t^^
- - - Updated - - -
Originally Posted by
Vulpturius
I have a question regarding Unleash Flame. I see its on the list of Elemental ST on row 3. But when i try my rotation on dummys i never seen it pop-up.
The conditions for that entry are that you have talented for Unleashed Fury and you're not currently in Ascendance. Otherwise, you'll never see it.