Backupiseasy / ThreatPlates

Nameplate addon for World of Warcraft
https://wow.curseforge.com/projects/tidy-plates-threat-plates
35 stars 19 forks source link

Solo shuffle/arena with opposite faction members bypasses friendly nameplates color setting #472

Open AurelianTimu opened 11 months ago

AurelianTimu commented 11 months ago

Hi,

The description of the issue is copied from here: https://www.reddit.com/r/worldofpvp/comments/14ln65q/threatplates_color_bug I’m having an issue with ThreatPlates - outside of arena I have all friendly healthbars set to show green. All enemies are set based on class colors.

However, in an arena or solo shuffle, if there’s a member of the opposite faction on my team, they’re all class colored, as the addon thinks there an enemy. Any ideas on how to fix this?

I am having exactly the same issue. I have done some research to find any opened issue in this repository that is similar, but was not able to find any issue opened. For some reason, if the team member(s) in my arena team are of opposite faction, the nameplate color setting for friendly units is bypassed - in my case, and reddit OP case, the color of friendly nameplates is set to green. Instead of the nameplate to correctly respect the green color setting, the friendly nameplates are shown instead with class colors.

The easiest way to reproduce this issue is in solo shuffle, as there is a high chance that at least one of the team members is of opposite faction. Could also test in 2s or 3s bracket, but the team member(s) have to be of opposite faction.

AurelianTimu commented 11 months ago

I’ve done some more testing. First round of solo shuffle, all team members are the same faction as the player - friendly nameplate color is green, as expected. Second round of solo shuffle, all team members are the same faction as player - friendly nameplate color is class color instead of green. The last 4 rounds are the same as second round.

It looks like the issue is not only tied to team members faction difference. If an enemy that was shown with class colors is now in player’s team, all nameplate class colors are now class color, bypassing the friendly color setting.

Backupiseasy commented 11 months ago

This issue was reported some months ago already, but I was never able to reproduce it back then. For me. friendly players were shown in green.

Now, I cannot really test it as solo shuffle requires a certain item level which I don't have :( That makes it hard to find out why this is happening.

AurelianTimu commented 11 months ago

I have 4 characters that I can queue solo shuffle with, I can help diagnose the problem. Let me know if you think I can do something on my end to provide you some more insight into the issue.

Backupiseasy commented 11 months ago

Can you test if the following version fixes the issue: https://drive.google.com/file/d/1eUAyvnzg_G7UQ211gHig6ApyKj8Tee5Z/view?usp=sharing

It's basically a brute-force solution and not efficient, but if the issue is gone with this version, I now where to start - or, if it does not fix it, I know that my guess why this could be happening is completely wrong :D

AurelianTimu commented 11 months ago

I just tried it and it WORKED in all 6 solo shuffle rounds. Nameplate friendly color was correctly applied, even though I had team members of the opposite faction!

The approach in this beta version is definitely fixing the issue!

AurelianTimu commented 11 months ago

Worth mentioning that I also had unchecked "Color healthbar by target marks in healthbar view" in the "Target Markers" section prior to testing the beta release you sent. I have not tested the released version with the unchecked "Color healthbar by target marks in healthbar view.

I will try it soon and report back.

Backupiseasy commented 11 months ago

Ok, thanks a lot. If that fixes it I have some idea how to get rid of this bug. It might take a few tries to optimize it, but at least I have a rough idea now.

AurelianTimu commented 10 months ago

I've been using the beta version you sent for a few days now, and I have not encountered any issues in solo shuffles. The correct (green) color was shown every time. I have not played regular arenas yet (2s, 3s), I will play in the weekend and let you know.

Later edit: I turned on the arena widget, and configured it to show arena numbers instead of names for enemy nameplates. There was 1 or 2 rounds out of 50+ that I played where if a player that was on the enemy team (and had 1/2/3) displayed above the nameplate was now in my team, the arena widget was still displayed for my team member - after a reload, the name was now displayed correctly, and there was no arena numbers anymore. It doesn't seem to be related to the nameplate color - the topic of discussion here - but just wanted to mention it.

Backupiseasy commented 10 months ago

I tried to optimize the above version. If it works, it's the most efficient version: https://drive.google.com/file/d/1A7ClGMWJN2GSikELoqpmq8Ts6JwL-Frd/view?usp=sharing

Regarding the issue with the arena numbers, I have to think about. It seems to be a update issue, but - similar to the above bugfix - the arena widget is updated the same way. So, there seems to more to it.

AurelianTimu commented 10 months ago

This version works very well, I havent seen any issues. I’ve been playing solo shuffle a lot using the latest version you sent and it worked flawlessly every time. I also did not see the arena number issues anymore. Today I will play regular 2s arenas and will report back.

Backupiseasy commented 10 months ago

Ok, thanks a lot. I have some ideas how to solve the number issue if it still happens.

AurelianTimu commented 10 months ago

The arena numbers issue happened again once today, out of ~50 solo shuffle rounds played. It didn't happened at all this week (~300 rounds played), using the latest version you sent - except today.

Backupiseasy commented 10 months ago

BTW, does the above version still how enemy units on the same team with wrong colors in arenas (as mentioned in the Reddit post)?

AurelianTimu commented 10 months ago

In solo shuffle, the friendly nameplates color show correct colors every time, since the first beta version you sent. I have not tested yet in regular arenas - I have not played regular arenas yet using the beta version - did not found partners.

Backupiseasy commented 10 months ago

Regarding, the arena number, I have an idea why it could sometimes not show correctly. If my guess is right, the following version should fix it: https://drive.google.com/file/d/17pnbA_jk3mbsDa2qqWFPGXicm8fHjCfv/view?usp=sharing

G1t-Happens commented 10 months ago

The issue still occurs with 11.1.28

Backupiseasy commented 10 months ago

Do you mean the friendly color issue (I hoped that this would be fixed) or the arena number issue (the above fix for this is not inclued in 11.2.28)?

AurelianTimu commented 10 months ago

Some updates from my side:

I managed to play some regular 3s arenas (~100 matches) with team members of same faction and opposite faction in the team using the beta version you sent on Aug 24. All went well. It worked perfectly in every 3s arena. I have never seen the friendly color nameplate issue anymore, both in solo shuffle and regular arenas - since the very first draft version you sent on Aug 20. The issue is definitely fixed since the Aug 20 beta version.

I did not have time to test the arena number issue with the latest version that you sent on Sept 3. I did not played solo shuffle this month (the issue was happening in solo shuffle) , since I had other IRL stuff to do. I will start playing again after Sept 30 and I will test the number issue.

I see you published 2 new versions of the addon on Curseforge (11.1.27 and 11.1.28) and you added the fix for the nameplate color issue in version 11.1.27 (2023-09-06). I did not played yet with any of these 2 published versions, I am still using the beta version you sent on Aug 24.

G1t-Happens commented 10 months ago

Do you mean the friendly color issue (I hoped that this would be fixed) or the arena number issue (the above fix for this is not inclued in 11.2.28)?

I'm still encountering the issue in Soloshuffle where the enemy class colors on the nameplates are not displayed correctly. It seems like this problem occurs in almost every Soloshuffle game for me. In the first game, everything appears fine, but after a few rounds, opponents suddenly have nameplate colors that they shouldn't have like hunters are red or somtimes even white."

Tested with ThreatPlates-11.1.28

AurelianTimu commented 10 months ago

This issue mostly refers to friendly nameplates colors, not enemy nameplates. Maybe you have enabled the threat module and it interferes with enemy nameplates colors? I'm not at home so I can't export my profile to share it with you, but for me, if I configure enemy nameplates to show class colors, (and disable threat module, which has no usage for me in arenas), the class colors are shown correctly every time.

Backupiseasy commented 10 months ago

The threat system does not work with players, so it should not be that,. The only thing - besides a bug - that I can think of is that the healthbar is colored based on the target marker of the unit. White would be possible with skull. Otherwise I have no idea how a healtbar could be white.

Backupiseasy commented 10 months ago

I will think of a way how to debug/test this. You said that this only happens in solo shuffles, not in regular arenas, right? That would be easier to test for me myself.

G1t-Happens commented 10 months ago

The only thing - besides a bug - that I can think of is that the healthbar is colored based on the target marker of the unit. White would be possible with skull. Otherwise I have no idea how a healtbar could be white.

So I've tested it multiple times now, and this is exactly what happens. When you distribute marks in shuffle in the first round, and then people switch to the opposing team in the next rounds, they still have the mark and the nameplates are displayed based on the marker color and not on the class color anymore. Steps to reproduce:

  1. Join a Solo Shuffle.
  2. Mark your teammates with markers that do not match their class color.
  3. Wait until they are swapped into the opposing team.

I think a simple fix would be just to disable the option 'Color Healthbar by Target Marks' when playing Soloshuffle, but I still need to test it.

Backupiseasy commented 9 months ago

So, the issue seems to be that the color marker information is not updated when a new game starts. Thanks for finding that out. I will fix this and post a version to test this here.

Backupiseasy commented 9 months ago

Just to be sure: the color is wrong in your tests, but the target marker itself is hidden correctly after a swap, right?

G1t-Happens commented 9 months ago

Actually, everything is working as intended. If you play Shuffle, you should simply disable the "Color Healthbar by Target Marks" option.

The thing with Shuffle is that many PvP Players use Auto-Mark Addons/WeakAuras for better visibility of their team. Now, if there are two players of the same class on the team, one of them needs to be marked with an marker that doesn't match their class color. Once the second Shuffle round begins, a marked team member gets swapped into the opposing team, which automatically retains the Blizzard mark(I believe that is the standard and has nothing to do with this addon). If this happens to be the one with an marker that doesn't match their class color, this error occurs.

One might want to consider fundamentally whether it would make more sense in Shuffle to always display only the class color in the Healthbar and override all other options.

Backupiseasy commented 9 months ago

So, what you're are saying is that the coloring of TP is actually correct based on the set markers, but that markers are not re-set after a swap (which should be done, I think)? That's good as there is at least no bug in TP.

Adding an option for solo shuffle is possible, sure, but depending on the default setting it might also lead to confusion, e.g., if nameplates normally are colored by target mark, but then in shuffles they are not. The option would not be that obvious.

The best fix would be if the marking addons re-set markers after every swap, I think.

AurelianTimu commented 9 months ago

My 2 cents:

I think class color (enemy and friendly) settings should be mutually exclusive with marker colors. For example, if I choose to display class colors it means I want to see the class color on the nameplates. Marker colors option should (maybe?) be disabled, and whatever settings I have configured for marker colors should not be taken into account.

The reverse is also valid, if I want my nameplate colors to be displayed according to the markers colors (if the enemy/friendly unit has a marker assigned) it should supersede and ignore class color settings. If the unit doesnt have a marker assigned, it should show the default (blue I think for friendly and red for enemy).

Backupiseasy commented 9 months ago

It might also make sense to add an option (enabled by default) to disable healthbar coloring by target marker for players. In general, target markers are used in raids for NPCs (where healtbar color makes sense) and in arenas for players, where healthbar coloring by target marker makes less sense. I guess in arenas the target marker itself is more important.