doadin / Plexus

Other
10 stars 2 forks source link

a new aura driver for WoW 10.0 #59

Closed Elnarfim closed 1 year ago

Elnarfim commented 2 years ago

No longer scan every 40 auras since WoW 10.0 UNIT_AURA presents updatedAuraInfo via third parameter and it contains only updated or added auras Now just scan specific auras in UNIT_AURA event

doadin commented 2 years ago

holding for 10.0 since this uses api not yet available. Thank you! If you could in the mean time fix a few code formating issues.

doadin commented 2 years ago

There seems to be many formatting/indentation issues. While I know the file may have had some inconsistencies prior to this if you could use UTF-8 CRLF 4 Spaces no tabs.

doadin commented 2 years ago

Again really appreciate your contributions!

Elnarfim commented 2 years ago

I applied formatting to CRLF 4 Spaces and have fixed several issues. especially a count variable was having a wrong aura data in prior commits

Elnarfim commented 2 years ago

Also update dispell spells for Evoker class

yoshimo commented 2 years ago

you could also gate it behind a check for the expansion so it is backwards compatible

doadin commented 2 years ago

I think gated behind the toc is fine as this will make the code go into effect when pre-patch hits and all this should be available.

I know I am kind of being picky but when I open in VS Code my branch and hit convert tabs to spaces and remove trailing white space no changes are made then I apply your commits and do the same and theres lots of lines different and it still appears that some lines in your changes don't actually change anything other than formatting, makes it a bit difficult to see the real changes.

doadin commented 2 years ago

I have edited and merged via these two commits: 20658291c8ead62a2c6ee4117de1f9785c1eeaa4 75ba51d0fe07238a5ff215d8d39156375f342fb2

Thank you for your help!

doadin commented 2 years ago

@Elnarfim There is an issue it appears with auras being removed before they expire or are removed, also in auras not casted by player still showing though that setting is not on.

doadin commented 2 years ago

@Elnarfim it appears when a buff is removed it is also clearing debuffs. Also cast by player "show if mine" is not working.

doadin commented 2 years ago

@Elnarfim https://github.com/Elnarfim/Plexus/blob/main/Statuses/Auras.lua#L2351 looks like here it is looking for a type of magic/poison/curse/disease but you have it set to local debuffType = aurainstanceinfo.isHelpful and "HELPFUL" or aurainstanceinfo.isHarmful and "HARMFUL" .

https://github.com/Elnarfim/Plexus/blob/main/Statuses/Auras.lua#L2196 uses the debuffType to check PlayerCanDispel[debuffType] as well.

Elnarfim commented 2 years ago

yeah. today is the patch day in my region and I've done raid with new aura driver. I'm finding out the matters now there are two matters now first one is what you found and second is aura isn't disappear sometimes

Elnarfim commented 2 years ago

Oops I did misunderstand a variable 'debuffType'. It means dispel type not filter :(

Elnarfim commented 2 years ago

If you want to refer new aura code, please see CompactUnitFrame.lua https://www.townlong-yak.com/framexml/live/CompactUnitFrame.lua

Elnarfim commented 2 years ago

I've re-written code and checked showing dispelable debuffs Please help me testing

doadin commented 2 years ago

I was trying to do some debugging myself, just also figured you wrote the whole thing so might have some in sight.

I was going to see if this fixed the issues: 5feadb3a304d15593ff6196cf1bab927f2836ffd

Looks like you changed a lot ill test and let you know.

Edit: had more but you did a lot in this re-write so ill test that.

doadin commented 2 years ago

Just from a quick look I haven't changed much mostly how the code looks, e15f837f68e42ed3624f23437405790b3260fde8 a42cf6bf9370d4238c2c57c3f31f38e1bb074e96

I need to go out atm but ill be testing better in a bit.

doadin commented 2 years ago

So it looked like you had some typos where in some places you had dispelsChanged and other places dispelChanged. In addition to the option show mine not working also auras seem to not update after going through loading screens some times they get stuck. For example in my testing I have been going in/out of iron docks if I am inside and I cast regrowth and step outside the duration keeps going but at the end the icon shows forever with no duration going back inside it goes away

doadin commented 2 years ago

Also the auras getting stuck is not limited to buff but also debuffs.

doadin commented 2 years ago

@Elnarfim I fixed it throwing a lot of errors by adding

    if PlexusStatusAuras.unitAuras[unit] == nil then
        PlexusStatusAuras.unitAuras[unit] = {}
        PlexusStatusAuras.unitAuras[unit]["buffs"] = {}
        PlexusStatusAuras.unitAuras[unit]["debuffs"] = {}
        PlexusStatusAuras.unitAuras[unit]["dispels"] = {}
    end

to the top of function UpdateUnitAuras

Elnarfim commented 2 years ago

I've fixed bugs related to dispellabe debuffs and I'm fixing removing auras. I've tested in BG and works correctly, would update code soon

doadin commented 2 years ago

@Elnarfim Thank you so much for all the work you have put into this! Do you have discord? Would you mind if we talked there?

doadin commented 2 years ago

It appears debuffs are still sticking, however buffs are working.

doadin commented 2 years ago

In my limited testing so far it appears the caster in the code in unitAuraUpdateInfo.removedAuraInstanceIDs around 2447 is sometimes a nameplate and sometimes nil . I need to go but ill do more testing later. I do see it fireing that the name of the spell that is gone so it is seeing the spell name I wonder if guid is wrong.

Elnarfim commented 2 years ago

I've just written new code and tested. it works correctly but I can't test in on raid or BG because it's about dawn. so I must do more test in today. the current code has many problems. I updated its structure again. hopefully no matters found. My discord is 자미/파오즈#6522

doadin commented 2 years ago

I pushed a new commit and the debuffs seem to go away as they should now but for some reason forbearance doesn't seem to go away it seems to be the only one, though other than just magic/curse/disease/poison I don't have any other debuffs set just forbearance so might be others not sure.

doadin commented 2 years ago

Seems like it is only working for magic debuffs actually.

doadin commented 2 years ago

I moved the aura code to this branch https://github.com/doadin/Plexus/tree/newaura , since its still work in progress.

Elnarfim commented 2 years ago

yeah I don't expect you make my code as release build without testing. It is good decision. I'd update new aura code as other branch