Problem with assigning points to players on different servers
waspoza opened this issue ยท 11 comments
In classic era Blizzard joined servers into server clusters. For example EU PVE cluster is made of 3 servers: Mirage Raceway, Pyrewood Village and Nethergarde Keep. Players in guild and in raid are mixed from all 3 servers.
When guild officer is assigning points to raid only players from his realm are getting points. We found a workaround by temporarily promoting one player from each server to officer, assign points to raid and demote afterwards, but it's not ideal. Any chance to fix this issue?
I can point you in the right direction but it's not going to be trivial.
One problem is that Blizzard API itself does not return or use playername-realm notation in every place. Some unit API (raid / group methods) will, some won't, some social API (guild) chat API (addon messages)
Since when this addon was created there was no indication that we will ever get connected realms in Classic this was solved by converting all name matches to PlayerName stripping the realm return with use of Ambiguate("Playername","short")
Removing those calls or changing them to Ambiguate("Playername","mail")
will not solve it 100% because as said earlier the stripping of the realm name was to solve inconsistencies in how various Blizzard API uses unitnames, so we're comparing apples to apples so to speak.
The only way to have it work for connected realms is to use Playername-NormalizedRealm notation for every array key or value using unitnames to do matching or display data.
You could try to do a search in files and comment out every Ambiguate call and see what gets fixed and what breaks.
Thanks for the pointers. I'll try to fix it at least enough to be workable for my guild. I will let you know the results.
I have a character on Era EU PvE, (that I haven't played in years). Unguilded though since it's essentially a copy of my vanilla char.
If I could find a guild that has some mixed realm players I could take a look. ign: Bushido, Alliance side
I created a guild for testing purpose with mixed realm chars. Will invite you, whisper Ursegor-MirageRaceway or Jevel-MirageRaceway.
So far i managed to fix assigning points to raid, it works correctly now. Not sure if assigning loot will be working bc don't know how to test it without actually looting items from the boss.
Here is the patch: https://gist.github.com/waspoza/3d59e98a25c1bc2ff0ce1480b6a0f928
Btw there is strange thing now. On first login addon spews tons of errors and dont start, but after /reload everything is clean and all works. Did i broke something?
It is fixable by using the fully qualified name but I've no timeline on it, there's tons of places that would need change.
Can you show an example how it should be fixed in your opinion? I'll try to do it myself and will send you a PR.
Changes to address this have now been merged into master.
Testing there's no regressions to the versions running on Wrath Classic today before pushing to curse.
For the moment it can be tested by installing manually from master.
Good news, we raided yesterday and everything went smooth. No errors and GP was awarded crossrealm without a problem. There is only one issue. Our ML is saying that one important button went missing in the new version:
And one additional question: can we change item prices in a way that won't be overwritten with the next update?
Should be mostly done with fd70681 and later.
For the other question; It's possible but it's best if you open a new issue so it can work as help/documentation for others.