diff --git a/Source/Game/Arenas/Arena.cs b/Source/Game/Arenas/Arena.cs index 5e5a6f9f5..ec77a764f 100644 --- a/Source/Game/Arenas/Arena.cs +++ b/Source/Game/Arenas/Arena.cs @@ -45,8 +45,10 @@ namespace Game.Arenas public override void AddPlayer(Player player) { + bool isInBattleground = IsPlayerInBattleground(player.GetGUID()); base.AddPlayer(player); - PlayerScores[player.GetGUID()] = new ArenaScore(player.GetGUID(), player.GetBGTeam()); + if (!isInBattleground) + PlayerScores[player.GetGUID()] = new ArenaScore(player.GetGUID(), player.GetBGTeam()); if (player.GetBGTeam() == Team.Alliance) // gold { diff --git a/Source/Game/BattleGrounds/BattleGround.cs b/Source/Game/BattleGrounds/BattleGround.cs index ec42f53f7..4a4ed6c88 100644 --- a/Source/Game/BattleGrounds/BattleGround.cs +++ b/Source/Game/BattleGrounds/BattleGround.cs @@ -1068,7 +1068,8 @@ namespace Game.BattleGrounds } // reset all map criterias on map enter - player.ResetCriteria(CriteriaFailEvent.LeaveBattleground, GetMapId(), true); + if (!isInBattleground) + player.ResetCriteria(CriteriaFailEvent.LeaveBattleground, GetMapId(), true); // setup BG group membership PlayerAddedToBGCheckIfBGIsRunning(player); diff --git a/Source/Game/BattleGrounds/Zones/ArathiBasin.cs b/Source/Game/BattleGrounds/Zones/ArathiBasin.cs index 574e37e39..c02f64934 100644 --- a/Source/Game/BattleGrounds/Zones/ArathiBasin.cs +++ b/Source/Game/BattleGrounds/Zones/ArathiBasin.cs @@ -221,8 +221,10 @@ namespace Game.BattleGrounds.Zones public override void AddPlayer(Player player) { + bool isInBattleground = IsPlayerInBattleground(player.GetGUID()); base.AddPlayer(player); - PlayerScores[player.GetGUID()] = new BattlegroundABScore(player.GetGUID(), player.GetBGTeam()); + if (!isInBattleground) + PlayerScores[player.GetGUID()] = new BattlegroundABScore(player.GetGUID(), player.GetBGTeam()); } public override void RemovePlayer(Player Player, ObjectGuid guid, Team team) diff --git a/Source/Game/BattleGrounds/Zones/EyeofStorm.cs b/Source/Game/BattleGrounds/Zones/EyeofStorm.cs index 7b79d59b1..4a45f6f07 100644 --- a/Source/Game/BattleGrounds/Zones/EyeofStorm.cs +++ b/Source/Game/BattleGrounds/Zones/EyeofStorm.cs @@ -369,8 +369,10 @@ namespace Game.BattleGrounds.Zones public override void AddPlayer(Player player) { + bool isInBattleground = IsPlayerInBattleground(player.GetGUID()); base.AddPlayer(player); - PlayerScores[player.GetGUID()] = new BgEyeOfStormScore(player.GetGUID(), player.GetBGTeam()); + if (!isInBattleground) + PlayerScores[player.GetGUID()] = new BgEyeOfStormScore(player.GetGUID(), player.GetBGTeam()); m_PlayersNearPoint[EotSPoints.PointsMax].Add(player.GetGUID()); } diff --git a/Source/Game/BattleGrounds/Zones/StrandofAncients.cs b/Source/Game/BattleGrounds/Zones/StrandofAncients.cs index d05fb528a..80794c1ec 100644 --- a/Source/Game/BattleGrounds/Zones/StrandofAncients.cs +++ b/Source/Game/BattleGrounds/Zones/StrandofAncients.cs @@ -481,8 +481,10 @@ namespace Game.BattleGrounds.Zones public override void AddPlayer(Player player) { + bool isInBattleground = IsPlayerInBattleground(player.GetGUID()); base.AddPlayer(player); - PlayerScores[player.GetGUID()] = new BattlegroundSAScore(player.GetGUID(), player.GetBGTeam()); + if (!isInBattleground) + PlayerScores[player.GetGUID()] = new BattlegroundSAScore(player.GetGUID(), player.GetBGTeam()); SendTransportInit(player); diff --git a/Source/Game/BattleGrounds/Zones/WarsongGluch.cs b/Source/Game/BattleGrounds/Zones/WarsongGluch.cs index 676aaa057..098f84cd4 100644 --- a/Source/Game/BattleGrounds/Zones/WarsongGluch.cs +++ b/Source/Game/BattleGrounds/Zones/WarsongGluch.cs @@ -198,8 +198,10 @@ namespace Game.BattleGrounds.Zones public override void AddPlayer(Player player) { + bool isInBattleground = IsPlayerInBattleground(player.GetGUID()); base.AddPlayer(player); - PlayerScores[player.GetGUID()] = new BattlegroundWGScore(player.GetGUID(), player.GetBGTeam()); + if (!isInBattleground) + PlayerScores[player.GetGUID()] = new BattlegroundWGScore(player.GetGUID(), player.GetBGTeam()); } void RespawnFlag(Team Team, bool captured)