Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/10.0.7' into dragonflight
Browse files Browse the repository at this point in the history
  • Loading branch information
Hekili committed Mar 21, 2023
2 parents 7507daa + 14bcf65 commit 17667ad
Show file tree
Hide file tree
Showing 37 changed files with 1,616 additions and 1,641 deletions.
39 changes: 39 additions & 0 deletions Classes.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1906,6 +1906,45 @@ all:RegisterAuras( {
end,
},

snared = {
duration = 10,
generate = function( t )
local max_events = GetActiveLossOfControlDataCount()

if max_events > 0 then
local spell, start, duration, remains = "none", 0, 0, 0

for i = 1, max_events do
local event = GetActiveLossOfControlData( i )

if event.locType == "SNARE" and event.startTime and event.startTime > 0 and event.timeRemaining and event.timeRemaining > 0 and event.timeRemaining > remains then
spell = event.spellID
start = event.startTime
duration = event.duration
remains = event.timeRemaining
end
end

if start + duration > query_time then
t.count = 1
t.expires = start + duration
t.applied = start
t.duration = duration
t.caster = "anybody"
t.v1 = spell
return
end
end

t.count = 0
t.expires = 0
t.applied = 0
t.duration = 10
t.caster = "nobody"
t.v1 = 0
end,
},

dispellable_curse = {
generate = function( t )
local i = 1
Expand Down
4 changes: 2 additions & 2 deletions Core.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1562,8 +1562,8 @@ function Hekili.Update( initial )
state:HandleEvent( event )
state.offset = state.offset + t
event = events[ 1 ]
elseif t < 0.05 then
if debug then Hekili:Debug( 1, "Finishing queued event #%d ( %s of %s ) due at %.2f because the event occurs w/in 0.05 seconds.\n", n, event.type, event.action, t ) end
elseif t < 0.2 then
if debug then Hekili:Debug( 1, "Finishing queued event #%d ( %s of %s ) due at %.2f because the event occurs w/in 0.2 seconds.\n", n, event.type, event.action, t ) end
state.advance( t )
if event == events[ 1 ] then
-- Event did not get handled due to rounding.
Expand Down
85 changes: 39 additions & 46 deletions Dragonflight/APLs/DeathKnightFrost.simc

Large diffs are not rendered by default.

106 changes: 47 additions & 59 deletions Dragonflight/APLs/DeathKnightUnholy.simc

Large diffs are not rendered by default.

21 changes: 10 additions & 11 deletions Dragonflight/APLs/PaladinRetribution.simc
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ actions.cooldowns+=/use_item,slot=trinket1,if=!variable.trinket_1_buffs&(trinket
actions.cooldowns+=/use_item,slot=trinket2,if=!variable.trinket_2_buffs&(trinket.1.cooldown.remains|!variable.trinket_1_buffs|!buff.crusade.up&cooldown.crusade.remains>20|!buff.avenging_wrath.up&cooldown.avenging_wrath.remains>20)
actions.cooldowns+=/use_items,if=(buff.avenging_wrath.up|buff.crusade.up&buff.crusade.stack=10)
actions.cooldowns+=/shield_of_vengeance,if=(!talent.execution_sentence|cooldown.execution_sentence.remains<52)&fight_remains>15
actions.cooldowns+=/avenging_wrath,if=((holy_power>=4&time<5|holy_power>=3&time>5)|talent.holy_avenger&cooldown.holy_avenger.remains=0)&(!talent.seraphim|!talent.final_reckoning|cooldown.seraphim.remains>0)
actions.cooldowns+=/avenging_wrath,if=((holy_power>=4&time<5|holy_power>=3&time>5)|talent.holy_avenger&cooldown.holy_avenger.remains=0)&(!talent.final_reckoning|cooldown.final_reckoning.remains)
actions.cooldowns+=/crusade,if=buff.crusade.remains<gcd.max&(holy_power>=5&time<5|holy_power>=3&time>5)
actions.cooldowns+=/holy_avenger,if=time_to_hpg=0&holy_power<=2&(buff.avenging_wrath.up|talent.crusade&(variable.time_to_crusade=0|buff.crusade.up)|fight_remains<20)
actions.cooldowns+=/final_reckoning,if=(holy_power>=4&time<8|holy_power>=3&time>=8)&(cooldown.avenging_wrath.remains>gcd|variable.time_to_crusade&(!buff.crusade.up|buff.crusade.stack>=10))&(time_to_hpg>0|holy_power=5)&(!talent.seraphim|buff.seraphim.up)&(!raid_event.adds.exists|raid_event.adds.up|raid_event.adds.in>40)&(!buff.avenging_wrath.up|holy_power=5|cooldown.hammer_of_wrath.remains)
actions.cooldowns+=/final_reckoning,if=(holy_power>=4&time<8|holy_power>=3&time>=8)&(cooldown.avenging_wrath.remains>gcd|variable.time_to_crusade&(!buff.crusade.up|buff.crusade.stack>=10))&(time_to_hpg>0|holy_power=5)&(!raid_event.adds.exists|raid_event.adds.up|raid_event.adds.in>40)&(!buff.avenging_wrath.up|holy_power=5|cooldown.hammer_of_wrath.remains)

actions.es_fr_active=fireblood
actions.es_fr_active+=/call_action_list,name=finishers,if=holy_power=5|debuff.judgment.up|debuff.final_reckoning.up&(debuff.final_reckoning.remains<gcd.max|spell_targets.divine_storm>=2&!talent.execution_sentence)|debuff.execution_sentence.up&debuff.execution_sentence.remains<gcd.max
Expand All @@ -45,47 +45,46 @@ actions.es_fr_active+=/arcane_torrent
actions.es_fr_active+=/exorcism,if=active_enemies=1|consecration.up
actions.es_fr_active+=/consecration

actions.es_fr_pooling+=/seraphim,if=holy_power=5&(!talent.final_reckoning|cooldown.final_reckoning.remains<=gcd*3|cooldown.final_reckoning.remains>action_cooldown)&(!talent.execution_sentence|cooldown.execution_sentence.remains<=gcd*3|cooldown.execution_sentence.remains>action_cooldown|talent.final_reckoning)
actions.es_fr_pooling+=/call_action_list,name=finishers,if=holy_power=5|debuff.final_reckoning.up|buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10)
actions.es_fr_pooling+=/hammer_of_wrath,if=talent.vanguards_momentum
actions.es_fr_pooling+=/wake_of_ashes,if=holy_power<=2&talent.ashes_to_dust&(variable.time_to_crusade|cooldown.avenging_wrath.remains)
actions.es_fr_pooling+=/blade_of_justice,if=holy_power<=3
actions.es_fr_pooling+=/judgment,if=!debuff.judgment.up
actions.es_fr_pooling+=/hammer_of_wrath
actions.es_fr_pooling+=/crusader_strike,if=cooldown.crusader_strike.charges_fractional>=1.75&(holy_power<=2|holy_power<=3&cooldown.blade_of_justice.remains>gcd*2|holy_power=4&cooldown.blade_of_justice.remains>gcd*2&cooldown.judgment.remains>gcd*2)
actions.es_fr_pooling+=/seraphim,if=!talent.final_reckoning&(cooldown.execution_sentence.remains<=gcd*3|cooldown.execution_sentence.remains>action_cooldown)
actions.es_fr_pooling+=/call_action_list,name=finishers
actions.es_fr_pooling+=/crusader_strike
actions.es_fr_pooling+=/arcane_torrent,if=holy_power<=4
actions.es_fr_pooling+=/exorcism,if=active_enemies=1|consecration.up
actions.es_fr_pooling+=/seraphim,if=(!talent.final_reckoning|cooldown.final_reckoning.remains<=gcd*3|cooldown.final_reckoning.remains>action_cooldown)&(!talent.execution_sentence|cooldown.execution_sentence.remains<=gcd*3|cooldown.execution_sentence.remains>action_cooldown|talent.final_reckoning)
actions.es_fr_pooling+=/consecration

actions.finishers+=/variable,name=ds_castable,value=spell_targets.divine_storm>=2|buff.empyrean_power.up&!debuff.judgment.up&!buff.divine_purpose.up|buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10)&!buff.empyrean_legacy.up&!talent.justicars_vengeance
actions.finishers+=/seraphim,if=(cooldown.avenging_wrath.remains>15|variable.time_to_crusade>15)&(!talent.final_reckoning|cooldown.final_reckoning.remains>action_cooldown)&(!talent.execution_sentence|cooldown.execution_sentence.remains>action_cooldown|spell_targets.divine_storm>=5)&(!raid_event.adds.exists|raid_event.adds.in>40|raid_event.adds.in<gcd|raid_event.adds.up)|boss&fight_remains<15&fight_remains>5|buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10)
actions.finishers+=/execution_sentence,if=(buff.crusade.down&cooldown.crusade.remains>10|buff.crusade.stack>=3|cooldown.avenging_wrath.remains>10)&(!talent.final_reckoning|cooldown.final_reckoning.remains>10)&target.time_to_die>8&(spell_targets.divine_storm<5|talent.executioners_wrath)
actions.finishers+=/radiant_decree,if=(buff.crusade.down&cooldown.crusade.remains>5|buff.crusade.stack>=3|cooldown.avenging_wrath.remains>5)&(!talent.final_reckoning|cooldown.final_reckoning.remains>5)
actions.finishers+=/divine_storm,if=variable.ds_castable&!buff.empyrean_legacy.up&((!talent.crusade|variable.time_to_crusade>gcd*3)&(!talent.execution_sentence|cooldown.execution_sentence.remains>gcd*6|cooldown.execution_sentence.remains>gcd*4&holy_power>=4|target.time_to_die<8|spell_targets.divine_storm>=5|!talent.seraphim&cooldown.execution_sentence.remains>gcd*2)&(!talent.final_reckoning|cooldown.final_reckoning.remains>gcd*6|cooldown.final_reckoning.remains>gcd*4&holy_power>=4|talent.seraphim&cooldown.seraphim.remains>gcd*6|!talent.seraphim&cooldown.final_reckoning.remains>gcd*2)|talent.holy_avenger&cooldown.holy_avenger.remains<gcd*3|buff.holy_avenger.up|buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10))
actions.finishers+=/justicars_vengeance,if=((!talent.crusade|variable.time_to_crusade>gcd*3)&(!talent.execution_sentence|cooldown.execution_sentence.remains>gcd*6|cooldown.execution_sentence.remains>gcd*4&holy_power>=4|target.time_to_die<8|!talent.seraphim&cooldown.execution_sentence.remains>gcd*2)&(!talent.final_reckoning|cooldown.final_reckoning.remains>gcd*6|cooldown.final_reckoning.remains>gcd*4&holy_power>=4|talent.seraphim&cooldown.seraphim.remains>gcd*6|!talent.seraphim&cooldown.final_reckoning.remains>gcd*2)|talent.holy_avenger&cooldown.holy_avenger.remains<gcd*3|buff.holy_avenger.up|buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10))&!buff.empyrean_legacy.up
actions.finishers+=/templars_verdict,if=(!talent.crusade|variable.time_to_crusade>gcd*3)&(!talent.execution_sentence|cooldown.execution_sentence.remains>gcd*6|cooldown.execution_sentence.remains>gcd*4&holy_power>=4|target.time_to_die<8|!talent.seraphim&cooldown.execution_sentence.remains>gcd*2)&(!talent.final_reckoning|cooldown.final_reckoning.remains>gcd*6|cooldown.final_reckoning.remains>gcd*4&holy_power>=4|talent.seraphim&cooldown.seraphim.remains>gcd*6|!talent.seraphim&cooldown.final_reckoning.remains>gcd*2)|talent.holy_avenger&cooldown.holy_avenger.remains<gcd*3|buff.holy_avenger.up|buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10)
actions.finishers+=/divine_storm,if=variable.ds_castable&!buff.empyrean_legacy.up&((!talent.crusade|variable.time_to_crusade>gcd*3)&(!talent.execution_sentence|cooldown.execution_sentence.remains>gcd*6|cooldown.execution_sentence.remains>gcd*4&holy_power>=4|target.time_to_die<8|spell_targets.divine_storm>=5|!talent.seraphim&cooldown.execution_sentence.remains>gcd*2)&(!talent.final_reckoning|cooldown.final_reckoning.remains>gcd*6|cooldown.final_reckoning.remains>gcd*4&holy_power>=4|!talent.seraphim&cooldown.final_reckoning.remains>gcd*2)|talent.holy_avenger&cooldown.holy_avenger.remains<gcd*3|buff.holy_avenger.up|buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10))
actions.finishers+=/justicars_vengeance,if=((!talent.crusade|variable.time_to_crusade>gcd*3)&(!talent.execution_sentence|cooldown.execution_sentence.remains>gcd*6|cooldown.execution_sentence.remains>gcd*4&holy_power>=4|target.time_to_die<8|!talent.seraphim&cooldown.execution_sentence.remains>gcd*2)&(!talent.final_reckoning|cooldown.final_reckoning.remains>gcd*6|cooldown.final_reckoning.remains>gcd*4&holy_power>=4|!talent.seraphim&cooldown.final_reckoning.remains>gcd*2)|talent.holy_avenger&cooldown.holy_avenger.remains<gcd*3|buff.holy_avenger.up|buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10))&!buff.empyrean_legacy.up
actions.finishers+=/templars_verdict,if=(!talent.crusade|variable.time_to_crusade>gcd*3)&(!talent.execution_sentence|cooldown.execution_sentence.remains>gcd*6|cooldown.execution_sentence.remains>gcd*4&holy_power>=4|target.time_to_die<8|!talent.seraphim&cooldown.execution_sentence.remains>gcd*2)&(!talent.final_reckoning|cooldown.final_reckoning.remains>gcd*6|cooldown.final_reckoning.remains>gcd*4&holy_power>=4|!talent.seraphim&cooldown.final_reckoning.remains>gcd*2)|talent.holy_avenger&cooldown.holy_avenger.remains<gcd*3|buff.holy_avenger.up|buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10)

actions.generators=call_action_list,name=finishers,if=holy_power=5|(debuff.judgment.up|holy_power=4)&buff.divine_resonance.up|buff.holy_avenger.up
actions.generators+=/vanquishers_hammer,if=!runeforge.dutybound_gavel|!talent.final_reckoning&!talent.execution_sentence|fight_remains<8
actions.generators+=/hammer_of_wrath,if=talent.zealots_paragon
actions.generators+=/wake_of_ashes,if=holy_power<=2&talent.ashes_to_dust&(cooldown.avenging_wrath.remains|variable.time_to_crusade)
actions.generators+=/divine_toll,if=holy_power<=2&!debuff.judgment.up&(!talent.seraphim|buff.seraphim.up|cooldown.seraphim.remains>15|settings.desync_toll&action.seraphim.disabled)&(!raid_event.adds.exists|raid_event.adds.in>30|raid_event.adds.up)&(!talent.final_reckoning|settings.desync_toll&action.final_reckoning.disabled)&(!talent.execution_sentence|settings.desync_toll&action.execution_sentence.disabled|boss&fight_remains<8|spell_targets.divine_storm>=5)&(cooldown.avenging_wrath.remains>15|variable.time_to_crusade>15|settings.desync_toll&(!talent.crusade&action.crusade.disabled|action.avenging_wrath.disabled)|boss&fight_remains<8)
actions.generators+=/divine_toll,if=holy_power<=2&!debuff.judgment.up&(!raid_event.adds.exists|raid_event.adds.in>30|raid_event.adds.up)&(!talent.final_reckoning|settings.desync_toll&action.final_reckoning.disabled)&(!talent.execution_sentence|settings.desync_toll&action.execution_sentence.disabled|boss&fight_remains<8|spell_targets.divine_storm>=5)&(cooldown.avenging_wrath.remains>15|variable.time_to_crusade>15|settings.desync_toll&(!talent.crusade&action.crusade.disabled|action.avenging_wrath.disabled)|boss&fight_remains<8)
actions.generators+=/judgment,if=!debuff.judgment.up&holy_power>=2
actions.generators+=/wake_of_ashes,if=(holy_power=0|holy_power<=2&cooldown.blade_of_justice.remains>gcd*2)&(!raid_event.adds.exists|raid_event.adds.in>20|raid_event.adds.up)&(!talent.seraphim|cooldown.seraphim.remains>5)&(!talent.execution_sentence|cooldown.execution_sentence.remains>15|target.time_to_die<8|spell_targets.divine_storm>=5)&(!talent.final_reckoning|cooldown.final_reckoning.remains>15|fight_remains<8)&(cooldown.avenging_wrath.remains|variable.time_to_crusade)
actions.generators+=/wake_of_ashes,if=(holy_power=0|holy_power<=2&cooldown.blade_of_justice.remains>gcd*2)&(!raid_event.adds.exists|raid_event.adds.in>20|raid_event.adds.up)&(!talent.execution_sentence|cooldown.execution_sentence.remains>15|target.time_to_die<8|spell_targets.divine_storm>=5)&(!talent.final_reckoning|cooldown.final_reckoning.remains>15|fight_remains<8)&(cooldown.avenging_wrath.remains|variable.time_to_crusade)
actions.generators+=/call_action_list,name=finishers,if=holy_power>=3&buff.crusade.up&(cooldown.crusade.remains<95|buff.crusade.stack<10)
actions.generators+=/exorcism,if=active_enemies=1|consecration.up
actions.generators+=/judgment,if=!debuff.judgment.up
actions.generators+=/hammer_of_wrath
actions.generators+=/blade_of_justice,if=holy_power<=3
actions.generators+=/call_action_list,name=finishers,if=(target.health.pct<=20|buff.avenging_wrath.up|buff.crusade.up|buff.empyrean_power.up)
actions.generators+=/consecration,if=!consecration.up&spell_targets.divine_storm>=2
actions.generators+=/templar_slash
actions.generators+=/crusader_strike,if=cooldown.crusader_strike.charges_fractional>=1.75&(holy_power<=2|holy_power<=3&cooldown.blade_of_justice.remains>gcd*2|holy_power=4&cooldown.blade_of_justice.remains>gcd*2&cooldown.judgment.remains>gcd*2)
actions.generators+=/templar_strike,if=cooldown.crusader_strike.charges_fractional>=1.75&(holy_power<2|holy_power<3&cooldown.blade_of_justice.remains>gcd*2|holy_power=3&cooldown.blade_of_justice.remains>gcd*2&cooldown.judgment.remains>gcd*2)
actions.generators+=/call_action_list,name=finishers
actions.generators+=/consecration,if=!consecration.up
actions.generators+=/crusader_strike
actions.generators+=/templar_strike
actions.generators+=/arcane_torrent
actions.generators+=/consecration
2 changes: 1 addition & 1 deletion Dragonflight/APLs/WarlockDestruction.simc
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ actions.aoe+=/summon_soulkeeper,if=buff.tormented_soul.stack=10|buff.tormented_s
actions.aoe+=/summon_infernal
actions.aoe+=/rain_of_fire,if=(debuff.pyrogenics.down|buff.madness_rof.up)&active_enemies<=4
actions.aoe+=/channel_demonfire,if=dot.immolate.remains>cast_time
actions.aoe+=/immolate,cycle_targets=1,if=((dot.immolate.refreshable&(!talent.cataclysm.enabled|cooldown.cataclysm.remains>dot.immolate.remains))|active_enemies>active_dot.immolate)&target.time_to_die>10&!havoc_active
actions.aoe+=/immolate,cycle_targets=1,if=((dot.immolate.refreshable&(!talent.cataclysm.enabled|cooldown.cataclysm.remains>dot.immolate.remains))|cycle_enemies>active_dot.immolate)&target.time_to_die>10&!havoc_active
actions.aoe+=/immolate,cycle_targets=1,if=(dot.immolate.refreshable|(dot.immolate.remains<2&dot.immolate.remains<havoc_remains)|!dot.immolate.ticking)&(!talent.cataclysm.enabled|cooldown.cataclysm.remains>dot.immolate.remains)&target.time_to_die>11
actions.aoe+=/soul_fire,if=buff.backdraft.up
actions.aoe+=/incinerate,if=talent.fire_and_brimstone.enabled&buff.backdraft.up
Expand Down
Loading

0 comments on commit 17667ad

Please sign in to comment.