Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PvP talent slots generating random values #24498

Open
Loopeless opened this issue Apr 24, 2020 · 5 comments
Open

PvP talent slots generating random values #24498

Loopeless opened this issue Apr 24, 2020 · 5 comments

Comments

@Loopeless
Copy link

Loopeless commented Apr 24, 2020

Description:

Sometimes pvp talents can generate random values when player logs in and out.

Current behaviour:

As explained above in description.

Expected behaviour:

Player should not randomly generate any of a talents just by logging in and out. Only by picking them.

Steps to reproduce the problem:

I guess it's kinda random. But here's what I managed to realize so far while attempting to debug it.
The way I managed to trigger the issue is by having e.g. fresh created character.
So that talents0, talents1, talents2, talents3 are 0 for all 4 rows.

Then I would log in and out 2-3 times and usually I would get the worldserver console error format:
Player::SendTalentsInfoData: Player '%s' (%s) has unknown pvp talent

If you are lucky enough or simply spam it enough times, you may even get talents from another class this way (or spells overall I guess).

The issue seems to be perhaps somewhere within pvpTalents[slot]

Also it looks like it only happens when you didn't pick some of the pvp talents and did what I wrote above.

Branch(es): master

TC rev. hash/commit: bbfbb7d

Operating system: Win10 64x

@Shauren
Copy link
Member

Shauren commented Apr 24, 2020

Need more info.

  • build type (debug/relwithdebinfo...)
  • mysql client version
  • mysql server version
  • any console/DBErrors if you enable WITH_COREDEBUG in cmake?

@P-Kito
Copy link
Contributor

P-Kito commented Apr 25, 2020

Oh I fixed this... long time ago... Maybe I can find it.

//edit: Sorry, cant find it <.<

@Loopeless
Copy link
Author

Loopeless commented Apr 29, 2020

@Shauren , sorry for my slow response.

Build type: Release
Errors: I wrote above what I got in my world server console.

It happens inside this function:

void Player::SendTalentsInfoData()

This part is responsible for giving you the information:

PlayerPvpTalentMap const& pvpTalents = GetPvpTalentMap(i);

And here's a check where that error happens:

PvpTalentEntry const* talentInfo = sPvpTalentStore.LookupEntry(pvpTalents[slot]);
if (!talentInfo)
{
    TC_LOG_ERROR("entities.player", "Player::SendTalentsInfoData: Player '%s' (%s) has unknown pvp talent id: %u",
        GetName().c_str(), GetGUID().ToString().c_str(), pvpTalents[slot]);
    continue;
}

Keep in mind that pvp talents got updated twice in master branch (Since Blizzard reworked it in Legion.. I think?)

It is worth noting that the error (bug) does not happen with regular talents, only with PvP talents.

@Loopeless
Copy link
Author

Loopeless commented Apr 29, 2020

Yeah @P-Kito . It looks as it's been there for a while as you said. I even tried reverting it to older commits to see if something else broke it. And no problem, at least you confirmed that you noticed this issue. I will try to debug it more when I get some free time but I think I shared enough information about the issue @Shauren . If I hopefully manage to fix it myself then I'll share it.

@Shauren
Copy link
Member

Shauren commented Apr 29, 2020

You answered NONE of my questions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants