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

[3.3.5] Core/LFD LBRS tele location&different Instance after wipe #23569

Open
soniczhang11 opened this issue Jul 6, 2019 · 7 comments
Open

Comments

@soniczhang11
Copy link

soniczhang11 commented Jul 6, 2019

Description:

2 Bugs with LFD

Current behaviour:

  1. The tele location for LBRS in LFD system is wrong. Now it tele players to the location near entrance of BWL. It should tele players to the entrance of BRS.

  2. When player use LFD and wipe in instance, they may walk in a new instance(all mobs are respawned) after their souls running back. However, players who have not release their souls are still in the old one. It is a annoying issue but appears only sometimes.

Expected behaviour:

  1. Fix it.
  2. Fix it.

Steps to reproduce the problem:

Branch(es):

3.3.5

TC rev. hash/commit:

4529a94

Operating system: CentOS 7

@Killyana
Copy link
Member

Killyana commented Jul 6, 2019

I Will try to explain this issue, it's an old one, when players starts a big dungeon specially vanilla 50+ (stratholm, LBRS,..) if after a while a player(s) died and release spirit, when he try to enter the instance to resurrect he will get the message "wrong instance", in this case if he resurrect in the graveyard and try to enter the dungeon he will end up in a different instance than the other players, it's like the first lock is lost or deleted, maybe the soft reset happen even if players are inside the instance and that result the instance ID to be deleted.

@soniczhang11
Copy link
Author

I Will try to explain this issue, it's an old one, when players starts a big dungeon specially vanilla 50+ (stratholm, LBRS,..) if after a while a player(s) died and release spirit, when he try to enter the instance to resurrect he will get the message "wrong instance", in this case if he resurrect in the graveyard and try to enter the dungeon he will end up in a different instance than the other players, it's like the first lock is lost or deleted, maybe the soft reset happen even if players are inside the instance and that result the instance ID to be deleted.

That's right. It seems the server resets the Dungeon after wipe.

@Killyana
Copy link
Member

Killyana commented Jul 7, 2019

This could be related:

Player::_LoadBoundInstances: player 'xxxxxx' (GUID Full: 0x000000000007e0c5 Type: Player Low: 516293) is in group GUID Full: 0x1f500000000001b0 Type: Group Low: 432 but has a non-permanent character bind to map 230 (Profondeurs de Rochenoire), 227, 0

@soniczhang11
Copy link
Author

soniczhang11 commented Jul 10, 2019

fix LFGDungeons LBRS tele issue and confirmed on my server,

INSERT INTO `lfg_dungeon_template` (`dungeonId`, `name`, `position_x`, `position_y`, `position_z`, `orientation`, `VerifiedBuild`) VALUES (32, 'Lower Blackrock Spire', 78.5083, -225.044, 49.839, 5.1, 12340);
INSERT INTO `lfg_dungeon_template` (`dungeonId`, `name`, `position_x`, `position_y`, `position_z`, `orientation`, `VerifiedBuild`) VALUES (44, 'Upper Blackrock Spire', 78.5083, -225.044, 49.839, 5.1, 12340);

@Jinnaii
Copy link

Jinnaii commented Aug 2, 2019

The SQL from @soniczhang11 should be added. Dont know if this is 100% Retail or not but it works correctly.
What currently happens is just wrong. Porting to the entrance of BWL skips big parts of BRS and should not happen.

@ghost
Copy link

ghost commented Aug 2, 2019

@soniczhang11 : The TC SQL codestyle version of your suggested solution looks like this:

DELETE FROM `lfg_dungeon_template` WHERE `dungeonId` IN (32, 44);
INSERT INTO `lfg_dungeon_template` (`dungeonId`, `name`, `position_x`, `position_y`, `position_z`, `orientation`, `VerifiedBuild`) VALUES
(32, 'Lower Blackrock Spire', 78.5083, -225.044, 49.839, 5.1, 0),
(44, 'Upper Blackrock Spire', 78.5083, -225.044, 49.839, 5.1, 0);

edit: I have replaced your VerifiedBuild 12340 with 0 (zero) because the 12340 value should mostly only be used when you have verified the values from sniffs in online retail 3.3.5a (or if the information can be found when decompiling the game client).

@offl
Copy link
Contributor

offl commented Aug 17, 2020

Where dungeonId comes from so I can check if it's valid?
Correct positions: 78.3534,-226.841,49.7662,4.71238 -- WSL 3644

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