Slothpala / RaidFrameSettings

GNU General Public License v2.0
4 stars 4 forks source link

Buff/Debuff Enhancements #10

Closed excorp closed 5 months ago

excorp commented 5 months ago

I'm sorry, my English is bad and I ran the translator. So there will be some awkward English.

I think I finally found the reason for the addon error: other addons were getting an ADDON_ACTION_BLOCKED error when generating additional buff/debuff frames.

However, increasing the number of debuffs was the option I needed, so I lowered the default so that it wouldn't be an issue for people using the default.

Here's the entirety of my work

1. Hide blacklisted buffs/debuffs instead of making them smaller => Changed to reset buff/debuff frames instead of hiding

-> Before, when setting the offset of buffs/debuffs to the top of the frame, if the first one was blacklisted and became smaller, the next one would be displayed one row up.

image

2. Modify the maximum number of buffs/debuffs

-> If you set it larger than the default and it generates extra aura frames, other addons will get an ADDON_ACTION_BLOCKED error, but it was a necessary option for me. => it's resovled.

image image

3. Show remaining time for buffs/debuffs

By default, the time remaining is shown in the top left and the stack count in the bottom right.

image

4. Customize buffs/debuffs (swipe, edge, reverse, left time <font, color, size, offset, shadow>, stack count <font, color, size, offset, shadow>)

image image

5. Display the debuff border color to the color specified by DebuffHighlight

Blizzard's default feature assigns a border color, but that color may be different from the color assigned in DebuffHighlight, so I unified it. Also, the default debuff color is red in Blizzard, so I set a light gray color as the default, since it seems to be indistinguishable from the bleeding debuff.

image

6. Ability to set the position of specific buffs

image

Slothpala commented 5 months ago

Hey thanks for your contribution, I really like the changes but it will take some time to test and review for me, I am quite buisy at the moment! I hope we can solve the ADDON_ACTION_BLOCKED part somehow.

excorp commented 5 months ago

Thanks for the comment.

In my case, as long as I didn't change the max buff and max debuff numbers, I didn't get the ADDON_ACTION_BLOCKED error. But I don't know about others.

Try leaving the max buff/debuff count at its default value.

I'm still trying to figure out where the error is coming from.

excorp commented 5 months ago

There were no errors while I was playing. But I don't know about others.

I also changed the way blacklisted buffs/debuffs are set in the frame instead of being hidden(). Specifically, I made the buff/debuff frames reset when hideAllBuffs() and hideAllDebuffs() are executed so that the blacklisted ones are not set to the frame.

I'll check it out over the next few days.

excorp commented 5 months ago

I finally changed it to store the extra generated frames in an internal variable, which didn't give me any errors before I changed it, but I thought it would be better not to touch the default frame.

Slothpala commented 5 months ago

I finally changed it to store the extra generated frames in an internal variable, which didn't give me any errors before I changed it, but I thought it would be better not to touch the default frame.

awesome will try it out later!

Slothpala commented 5 months ago

I made some more changes to Buffs.lua. There was an issue with the OnDisable function. From my testing Buffs works pretty solid now. Had no time to check the rest jet.

Slothpala commented 5 months ago

Ok, I have updated the pattern. It works pretty much perfectly now and is almost ready to be merged. Only minor issues that i found were:

excorp commented 5 months ago

I fixed the following two

Even in Blizzard's default cooldown frame, the stack count appears below the swipe. So I created a text to handle it.

excorp commented 5 months ago

I did fix this issue. Blizzard's default frames have their texture coord values restored, but I don't know where that happens. Anyway, I just forced them to overwrite the defaults.

excorp commented 5 months ago

I fixed this issue.

Slothpala commented 5 months ago

Hey, just a quick update. There are still some issues with it but I really like the ideas and appreciate the time you put into it! I really do, but I have decided to do a few things differently and clean up some of the menu stuff and create some more general solutions for some things. I can reuse a lot of the code here, which is really helpful, but it will take some more time before I can fully implement it.

excorp commented 5 months ago

We've made a lot of fixes and it seems like there are still issues. Anyway, I think you can proceed as you wish.

Slothpala commented 5 months ago

I want to credit you next update do you want your GitHub name or Curseforge ?

Slothpala commented 5 months ago

Screenshot 2024-01-25 181234

Slothpala commented 5 months ago

Screenshot 2024-01-25 181244

Slothpala commented 5 months ago

I have updated the aura position and blacklist so that is will look like this

excorp commented 5 months ago

I want to credit you next update do you want your GitHub name or Curseforge ?

It's a great honor. I'd like to call it Curse forge. I'm traveling abroad with my family until February 4, so I won't be able to do anything for a while.

Slothpala commented 5 months ago

변하지롱 is that your correct curseforge name ? All right, have a nice holiday!

excorp commented 5 months ago

변하지롱 is that your correct curseforge name ? All right, have a nice holiday!

Yes. 변하지롱-아즈샤라 is my name. Thank you

kpontussvensson commented 5 months ago

Screenshot 2024-01-25 181244

This is really nice! One thing I would like to request is to have the spell id in the name as well, like "Arcane Intellect (1459)". That would be nice for auras with multiple spell id's connected to it so it's easier to see what you have added or not.

Slothpala commented 5 months ago

@excorp Are you still interested in adding the additional buff/debuff frames for the new modules with the new cooldown timer util I made?

excorp commented 5 months ago

@excorp Are you still interested in adding the additional buff/debuff frames for the new modules with the new cooldown timer util I made?

Yes. I looked at the updated addon and it needs to add buff/debuff frames.

For example, for the aura placed function, if only the default buff frame is used, it will not be displayed in the specified position when affected by many buffs due to insufficient number of frames.

Also, there may not be enough buff/debuff frames because you are using hide() for blacklist.

So I think it's necessary to add an aura frame, but since you didn't add one in this update, I thought you were against frame creation.

Anyway, I think it's necessary to generate additional frames and I'm thinking about working on it, but I haven't had time to do any dungeons yet since I've been traveling, lol.

Also, I think the stack being displayed under swipe and the duplicate duration numbers with the omnicc addon need to be fixed.

Oh, and when blacklisting, instead of using hide(), why don't you just delete the aura itself from frame.buffs (frame.debuffs) like I did last time, so that you can set the anchors once and not have to call it every time?

I don't know if my English is good enough to convey the meaning (although I'm running a translator anyway).

Anyway, I'm going to work on generating an aura frame for the new update, if only you'd agree.

Slothpala commented 5 months ago

No, I'm not against it, I just haven't had the time to do it for this update. I mostly did backend stuff that makes it easier to work on the modules now, with a lot less code needed. The main problem with your PR was that you would create up to 400 OnUpdate scripts that would never stop running. The new cooldown util should make this easier to handle. Stack under swipe needs a fix with next update yes. But I disagree about the OmniCC timer, I will not add that to my addon, because you can already do that in the settings of OmniCC.

Oh, and when blacklisting, instead of using hide(), why don't you just delete the aura itself from frame.buffs (frame.debuffs) like I did last time, so that you can set the anchors once and not have to call it every time?

Feel free to change this if you find a better solution that doesn't taint!

Slothpala commented 5 months ago

Oh, and I have no trouble understanding you, so no worries! The translator is doing a good job.