diff options
author | QAston <qaston@gmail.com> | 2012-01-29 05:50:16 -0800 |
---|---|---|
committer | QAston <qaston@gmail.com> | 2012-01-29 05:50:16 -0800 |
commit | ad4cf93e087f2a9963eb83b7cd94c6fd7e53835c (patch) | |
tree | 4390b3e3d92a1ec8c1d89f0a7375e3d52b343daa /src/server/game/Battlegrounds/Battleground.cpp | |
parent | 72359b3d1110ee3616ee442d098615f2c9c83f61 (diff) | |
parent | 27f2baca1d3d5023ee298c29819ddfcb148874e7 (diff) |
Merge pull request #4785 from Warpten/lastStanding
Core/Arenas: Fix achievement [The Last Standing].
Diffstat (limited to 'src/server/game/Battlegrounds/Battleground.cpp')
-rwxr-xr-x | src/server/game/Battlegrounds/Battleground.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp index e33676d1d65..5d121869f54 100755 --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -771,6 +771,7 @@ void Battleground::EndBattleground(uint32 winner) } } + uint8 aliveWinners = GetAlivePlayersCountByTeam(winner); for (BattlegroundPlayerMap::iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr) { uint32 team = itr->second.Team; @@ -796,6 +797,10 @@ void Battleground::EndBattleground(uint32 winner) if (player->HasAuraType(SPELL_AURA_SPIRIT_OF_REDEMPTION)) player->RemoveAurasByType(SPELL_AURA_MOD_SHAPESHIFT); + // Last standing - Rated 5v5 arena & be solely alive player + if (team == winner && isArena() && isRated() && GetArenaType() == ARENA_TYPE_5v5 && aliveWinners == 1 && player->isAlive()) + player->CastSpell(player, SPELL_THE_LAST_STANDING, true); + if (!player->isAlive()) { player->ResurrectPlayer(1.0f); |