Hekili / hekili

Hekili Priority Helper for DPS and Tanks (WoW Retail)
400 stars 212 forks source link

Arcane Rotation freezes when lusting. #2146

Closed MeowthMeows closed 1 year ago

MeowthMeows commented 1 year ago

Before You Begin

WoW Version

Retail (Dragonflight)

Describe the Issue

Arcane mage rotation shows normally without lust being active but as soon as i lust the recommendations freeze and doesn't suggest the next step of spells for about 7 seconds and misses out on the opener completely.

How to Reproduce

  1. Entered game as Mage as Arcane Spec
  2. Lust freezes opener recommendations , and only displays arcane blast for a few seconds then doesn't recommend arcane surge , touch etc. Pretty much whole opener.
  3. Icons freeze for a few seconds. Sorry my primary language is not english. I tried to explain.

Player Information (Link)

build: v10.0.2-2.0.5b
level: 70 (70)
class: MAGE
spec: arcane

talents: accumulative_shielding
    alter_time = 1/1
    amplification = 1/1
    arcane_barrage = 1/1
    arcane_bombardment = 1/1
    arcane_echo = 1/1
    arcane_familiar = 1/1
    arcane_harmony = 1/1
    arcane_missiles = 1/1
    arcane_orb = 1/1
    arcane_power = 1/1
    arcane_surge = 1/1
    arcane_tempo = 1/1
    arcane_warding = 2/2
    clearcasting = 1/1
    concentration = 1/1
    crackling_energy = 2/2
    displacement = 1/1
    evocation = 1/1
    flow_of_time = 2/2
    frigid_winds = 2/2
    greater_invisibility = 1/1
    harmonic_echo = 1/1
    ice_block = 1/1
    ice_nova = 1/1
    ice_ward = 1/1
    illuminated_thoughts = 2/2
    impetus = 1/1
    improved_clearcasting = 1/1
    incantation_of_swiftness = 2/2
    invisibility = 1/1
    mana_adept = 1/1
    master_of_time = 1/1
    mirror_image = 1/1
    nether_precision = 1/1
    nether_tempest = 1/1
    overflowing_energy = 1/1
    presence_of_mind = 1/1
    prismatic_barrier = 1/1
    quick_witted = 1/1
    radiant_spark = 1/1
    resonance = 1/1
    rune_of_power = 1/1
    shifting_power = 1/1
    shimmer = 1/1
    siphon_storm = 1/1
    slipstream = 1/1
    tempest_barrier = 2/2
    temporal_warp = 1/1
    tome_of_antonidas = 1/1
    tome_of_rhonin = 1/1
    touch_of_the_magi = 1/1
    winters_protection = 2/2

pvptalents: kleptomania
   master_of_escape
   netherwind_armor

covenant: none

conduits: none

soulbinds: []

sets: tier29 = 2

gear: assembly_scholars_loop = 1
    azure_arcanic_amplifier = 1
    cobalt_watchers_cord = 1
    compressed_cultists_frock = 1
    crystal_scholars_beacons = 1
    crystal_scholars_britches = 1
    drakebreakers_cuffs = 1
    fireproof_drape = 1
    furious_ragefeather = 1
    headwrap_of_the_abandoned = 1
    kokias_burnout_rod = 1
    mindbreaker_pendant = 1
    relic_handlers_gloves = 1
    ring_of_embers = 1
    spellboon_saber = 1
    tier29 = 2
    treads_of_light = 1

legendaries: none

itemIDs: 139280, 144117, 191989, 193641, 193677, 193710, 193763, 193766, 195500, 198407, 198571, 198734, 200163, 200319, 200320, 202119

settings: aoe = 3
    buffPadding = 0
    combatRefresh = 0.1
    custom1Name = Custom 1
    custom2Name = Custom 2
    cycle = false
    cycle_min = 6
    damage = true
    damageDots = false
    damageExpiration = 6
    damageOnScreen = true
    damagePets = false
    damageRange = 0
    debuffPadding = 0
    enabled = true
    enhancedRecheck = false
    gcdSync = true
    maxTime = 10
    nameplateRange = 8
    nameplates = true
    noFeignedCooldown = false
    package = Arcane
    petbased = false
    potion = spectral_intellect
    regularRefresh = 0.5
    throttleRefresh = false
    throttleTime = false

toggles: cooldowns = true 
    custom1 = false 
    custom2 = false 
    defensives = false 
    essences = false [overridden]
    interrupts = false 
    mode = dual 
    potions = false 

keybinds: 
    alter_time           = SQ  [06]
    arcane_barrage       = 2   [01]
    arcane_blast         = 1   [01]
    arcane_explosion     = 0   [01]
    arcane_familiar      = A-  [03]
    arcane_intellect     = A=  [03]
    arcane_missiles      = 3   [01]
    arcane_orb           = 5   [01]
    arcane_surge         = Q   [06]
    berserking           = R   [06]
    blink                = 4   [01]
    cone_of_cold         = S3  [05]
    counterspell         = 8   [01]
    displacement         = S2  [05]
    evocation            = T   [06]
    frost_nova           = S4  [05]
    greater_invisibility = SF  [05]
    healthstone          = SR  [06]
    ice_block            = S5  [05]
    ice_floes            = S1  [05]
    ice_nova             = 6   [01]
    invisibility         = SC  [05]
    irideus_fragment     = SX  [05]
    mirror_image         = S6  [05]
    nether_tempest       = 7   [01]
    potion               = A9  [03]
    presence_of_mind     = -   [01]
    prismatic_barrier    = X   [06]
    radiant_spark        = F   [06]
    remove_curse         = M4  [05]
    ring_of_frost        = =   [01]
    rune_of_power        = 9   [01]
    shifting_power       = C   [06]
    spellsteal           = M5  [05]
    time_warp            = ST  [06]
    touch_of_the_magi    = E   [06]

warnings: [#1] Unable to compile 'prev_gcd.6.radiant_spark' - [string "return prev_gcd[6].radiant_spark"]:1: attempt to index field '?' (a boolean value) (pcall-b)
From: ( talent.nether_tempest.enabled & prev_gcd.6.radiant_spark ) | ( ! talent.nether_tempest.enabled & prev_gcd.5.radiant_spark )
[#2] Unable to compile '(talent.nether_tempest.enabled&prev_gcd.6.radiant_spark)' - [string "return (talent.nether_tempest.enabled and p..."]:1: attempt to index field '?' (a boolean value) (pcall-b)
From: ( talent.nether_tempest.enabled & prev_gcd.6.radiant_spark ) | ( ! talent.nether_tempest.enabled & prev_gcd.5.radiant_spark )
[#3] Error in Arcane:spark_phase:6 conditions:  2: attempt to index field '?' (a boolean value)
[#4] Unable to compile 'prev_gcd.6.radiant_spark' - [string "return prev_gcd[6].radiant_spark"]:1: attempt to index field '?' (a boolean value) (pcall-b)
From: spell_haste > 0.49 & buff.bloodlust.up & ( talent.nether_tempest.enabled & prev_gcd.6.radiant_spark | ! talent.nether_tempest.enabled & prev_gcd.5.radiant_spark )
[#5] Unable to compile '(talent.nether_tempest.enabled&prev_gcd.6.radiant_spark|!talent.nether_tempest.enabled&prev_gcd.5.radiant_spark)' - [string "return (talent.nether_tempest.enabled and p..."]:1: attempt to index field '?' (a boolean value) (pcall-b)
From: spell_haste > 0.49 & buff.bloodlust.up & ( talent.nether_tempest.enabled & prev_gcd.6.radiant_spark | ! talent.nether_tempest.enabled & prev_gcd.5.radiant_spark )
[#6] Update: [string "-- Arcane:spark_phase:7..."]:2: attempt to index field '?' (a boolean value)
[string "-- Arcane:spark_phase:7
return safebool( spell_haste>0.49 and buff.bloodlust.up and (talent.nether_tempest.enabled and prev_gcd[6].radiant_spark or not (talent.nether_tempest.enabled) and prev_gcd[5].radiant_spark) )"]:2: in main chunk
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Hekili/Core.lua"]:999: in function `GetPredictionFromAPL'
[string "@Interface/AddOns/Hekili/Core.lua"]:899: in function `GetPredictionFromAPL'
[string "@Interface/AddOns/Hekili/Core.lua"]:1431: in function `GetNextPrediction'
[string "@Interface/AddOns/Hekili/Core.lua"]:1811: in function <Interface/AddOns/Hekili/Core.lua:1478>

Error Messages (Link)

No error message pops up

Additional Information

No response

Contact Information

Foxsays?#2995

Hekili commented 1 year ago

A snapshot is required to diagnose this issue.

Snapshot

Please supply a Snapshot of the addon's decision-making when you are seeing this issue in-game. This is not a screenshot. To generate a Snapshot, please complete the following steps.

This step is essential, as most issues are related to specific classes, specializations, gear, talent choices, or other game systems. If you do not provide this information, I cannot triage your problem.

MeowthMeows commented 1 year ago

https://pastebin.com/0HYrPSuC

and the lua error i got when trying to snapshot https://pastebin.com/3FcDSr2p

Hekili commented 1 year ago

Thanks. I've done some work on this, but I'm hearing it's not completely resolved. After any updated version of the addon is released, if you test and experience the issue, please supply updated screenshots. I'll be posting 2.0.6 soon, and will need to know if this is resolved or if you can get a snapshot if/when it occurs then. Thanks!

MeowthMeows commented 1 year ago

Will update you as soon as i can. Thank you for your work!

MeowthMeows commented 1 year ago

https://pastebin.com/D2fZeWA3

Also this happens sometimes when you lust as well. It never shows arcane surge or magi during opener. ETC.

Hekili commented 1 year ago

Can you be really precise with your update? The goal is for me to know what you're experiencing and what interactions are possibly going on.

What does "this happens" mean? Are we talking about "freezing" or Arcane Surge not being recommended or something else? Et cetera doesn't help me narrow things down.

I promise I'm not trying to make it difficult to report, I just need concrete information to troubleshoot. "I am seeing X but I should be seeing Y because Z."

I'll review the snapshot in detail. Thanks!

MeowthMeows commented 1 year ago

Ok sorry. So their is no more freezing of the rotation from what i see now. Sometimes the rotation disappears like all the icons randomly. When i pop lust with fresh opener with no arcane harmony stacks it gets stuck recommending arcane missles instead of recommending missles to 20stacks - radiant spark - arcane blast x3 - arcane surge - nether tempest - arcane barrage - touch . Also this seems to happen mainly when their is no lust debuff, but still happens regardless of having debuff or not. I tried to explain the best i could. If need be i can share screen with you in disc or something.

Hekili commented 1 year ago

Thanks for the additional detail. It helps when you say what you're seeing, so this is good.

My best guess is that the trigger logic for starting aoe_spark_phase and spark_phase and rop_phase was too rigid, so I've loosened up those requirements a little bit so those phases can start when the abilities are coming off cooldown rather than just when the relevant abiltilies are fully off cooldown. That may alleviate the problem, since sometimes recommendations are generated that look ahead a bit.

The addon will also try to recalculate whether the phase should change every time it simulates an action or advances the clock. We'll see if that resolves any of this.

MeowthMeows commented 1 year ago

Ok so playing with mana gem last night was perfect and i rarely saw any problem. Now with arcane harmony i have noticed that the problem arises during the opener phase where you arcane missel to stack harmony to 20 stacks. Basically once you see you have 20 stacks u have to kinda pause for about 1-2 seconds for addon to recommend spark which then proceeds to give correct rotation behavior. IF you do not give this pause you will be stuck in an arcane missel or rotation outside of your spark phase.

Hekili commented 1 year ago

Ok so playing with mana gem last night was perfect and i rarely saw any problem. Now with arcane harmony i have noticed that the problem arises during the opener phase where you arcane missel to stack harmony to 20 stacks. Basically once you see you have 20 stacks u have to kinda pause for about 1-2 seconds for addon to recommend spark which then proceeds to give correct rotation behavior. IF you do not give this pause you will be stuck in an arcane missel or rotation outside of your spark phase.

This would be time for a new snapshot taken before/after this happens. Thanks!