Skip to content

Instantly share code, notes, and snippets.

@Retriman
Created October 10, 2012 14:09
Show Gist options
  • Save Retriman/3865859 to your computer and use it in GitHub Desktop.
Save Retriman/3865859 to your computer and use it in GitHub Desktop.
Winter
@@ -395,6 +395,31 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer)
{
player->CastSpell(player, SPELL_ESSENCE_OF_WINTERGRASP, true);
player->CastSpell(player, SPELL_VICTORY_REWARD, true);
+ if (m_Data32[BATTLEFIELD_WG_DATA_DAMAGED_TOWER_DEF])
+ {
+ player->CastSpell(player, SPELL_DAMAGED_BUILDING, true);
+ }
+ else
+ {
+ if (m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_DEF])
+ {
+ // si no fueron da�adas completamente no tiene que dar nada extra
+ }
+ else
+ // si estan intactas te da mas honor
+ player->CastSpell(player, SPELL_INTACT_BUILDING, true);
+ }
+ if (m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_ATT])
+ {
+ player->CastSpell(player, SPELL_DESTROYED_TOWER, true);
+ }
+ else
+ {
+ if (m_Data32[BATTLEFIELD_WG_DATA_DAMAGED_TOWER_ATT])
+ {
+ player->CastSpell(player, SPELL_DAMAGED_TOWER, true);
+ }
+ }
// Send Wintergrasp victory achievement
DoCompleteOrIncrementAchievement(ACHIEVEMENTS_WIN_WG, player);
// Award achievement for succeeding in Wintergrasp in 10 minutes or less
@@ -404,8 +429,23 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer)
}
for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr)
+ {
if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ {
player->CastSpell(player, SPELL_DEFEAT_REWARD, true);
+ if (m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_DEF])
+ {
+ player->CastSpell(player, SPELL_DESTROYED_TOWER, true);
+ }
+ else
+ {
+ if (m_Data32[BATTLEFIELD_WG_DATA_DAMAGED_TOWER_DEF])
+ {
+ player->CastSpell(player, SPELL_DAMAGED_TOWER, true);
+ }
+ }
+ }
+ }
for (uint8 team = 0; team < 2; ++team)
{
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment