fix(Core/Instances): Ensure team is acquired before spawning creatures (#21221)
This commit is contained in:
parent
0733c30471
commit
d851f97f40
3 changed files with 14 additions and 20 deletions
|
|
@ -3020,6 +3020,15 @@ bool InstanceMap::AddPlayerToMap(Player* player)
|
|||
m_resetAfterUnload = false;
|
||||
m_unloadWhenEmpty = false;
|
||||
|
||||
if (instance_data && instance_data->IsTwoFactionInstance()
|
||||
&& instance_data->GetTeamIdInInstance() == TEAM_NEUTRAL)
|
||||
{
|
||||
instance_data->SetTeamIdInInstance(player->GetTeamId());
|
||||
if (Group* group = player->GetGroup())
|
||||
if (Player* leader = ObjectAccessor::FindConnectedPlayer(group->GetLeaderGUID()))
|
||||
instance_data->SetTeamIdInInstance(leader->GetTeamId());
|
||||
}
|
||||
|
||||
// this will acquire the same mutex so it cannot be in the previous block
|
||||
Map::AddPlayerToMap(player);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue