Merge pull request #4785 from Warpten/lastStanding
Core/Arenas: Fix achievement [The Last Standing].
This commit is contained in:
@@ -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)
|
for (BattlegroundPlayerMap::iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr)
|
||||||
{
|
{
|
||||||
uint32 team = itr->second.Team;
|
uint32 team = itr->second.Team;
|
||||||
@@ -796,6 +797,10 @@ void Battleground::EndBattleground(uint32 winner)
|
|||||||
if (player->HasAuraType(SPELL_AURA_SPIRIT_OF_REDEMPTION))
|
if (player->HasAuraType(SPELL_AURA_SPIRIT_OF_REDEMPTION))
|
||||||
player->RemoveAurasByType(SPELL_AURA_MOD_SHAPESHIFT);
|
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())
|
if (!player->isAlive())
|
||||||
{
|
{
|
||||||
player->ResurrectPlayer(1.0f);
|
player->ResurrectPlayer(1.0f);
|
||||||
|
|||||||
@@ -98,7 +98,8 @@ enum BattlegroundSpells
|
|||||||
SPELL_RECENTLY_DROPPED_FLAG = 42792, // Recently Dropped Flag
|
SPELL_RECENTLY_DROPPED_FLAG = 42792, // Recently Dropped Flag
|
||||||
SPELL_AURA_PLAYER_INACTIVE = 43681, // Inactive
|
SPELL_AURA_PLAYER_INACTIVE = 43681, // Inactive
|
||||||
SPELL_HONORABLE_DEFENDER_25Y = 68652, // +50% honor when standing at a capture point that you control, 25yards radius (added in 3.2)
|
SPELL_HONORABLE_DEFENDER_25Y = 68652, // +50% honor when standing at a capture point that you control, 25yards radius (added in 3.2)
|
||||||
SPELL_HONORABLE_DEFENDER_60Y = 66157 // +50% honor when standing at a capture point that you control, 60yards radius (added in 3.2), probably for 40+ player battlegrounds
|
SPELL_HONORABLE_DEFENDER_60Y = 66157, // +50% honor when standing at a capture point that you control, 60yards radius (added in 3.2), probably for 40+ player battlegrounds
|
||||||
|
SPELL_THE_LAST_STANDING = 26549, // Arena achievement related
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BattlegroundTimeIntervals
|
enum BattlegroundTimeIntervals
|
||||||
|
|||||||
Reference in New Issue
Block a user