BastionLoot

BastionLoot

14.1k Downloads

Problem with assigning points to players on different servers

waspoza opened this issue ยท 11 comments

commented

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?

commented

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.

commented

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.

commented

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

commented

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

commented

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?

commented

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.

commented

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.

commented

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.

commented

I'll be testing it in MC today, will let you know how it went.

commented

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:

Screenshot from 2023-06-07 20-57-17

And one additional question: can we change item prices in a way that won't be overwritten with the next update?

commented

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.