void BattlefieldWG::BrokenWallOrTower(TeamId team) { if (team == GetDefenderTeam()) { for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr) { if (Player* player = ObjectAccessor::FindPlayer(*itr)) IncrementQuest(player, WGQuest[player->GetTeamId()][2], true); } } }
// Called when a tower is broke void BattlefieldWG::AddBrokenTower(TeamId team) { // Destroy an attack tower if (team == GetAttackerTeam()) { // Update counter m_Data32[BATTLEFIELD_WG_DATA_DAMAGED_TOWER_ATT]--; m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_ATT]++; // Remove buff stack for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr) if (Player* player = ObjectAccessor::FindPlayer(*itr)) player->RemoveAuraFromStack(SPELL_TOWER_CONTROL); // Add buff stack for (GuidSet::const_iterator itr = m_PlayersInWar[GetDefenderTeam()].begin(); itr != m_PlayersInWar[GetDefenderTeam()].end(); ++itr) if (Player* player = ObjectAccessor::FindPlayer(*itr)) { player->CastSpell(player, SPELL_TOWER_CONTROL, true); IncrementQuest(player, WGQuest[player->GetTeamId()][3], true); DoCompleteOrIncrementAchievement(ACHIEVEMENTS_WG_TOWER_DESTROY, player); } // If the threw south tower is destroy if (m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_ATT] == 3) { // Remove 10 minutes to battle time if (int32(m_Timer - 600000) < 0) { m_Timer = 0; } else { m_Timer -= 600000; } SendInitWorldStatesToAll(); } } else { m_Data32[BATTLEFIELD_WG_DATA_DAMAGED_TOWER_DEF]--; m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_DEF]++; } }
void BattlefieldWG::OnBattleEnd(bool endbytimer) { // Remove relic if (m_relic) m_relic->RemoveFromWorld(); m_relic = NULL; // Remove turret for (GuidSet::const_iterator itr = CanonList.begin(); itr != CanonList.end(); ++itr) { if (Unit* unit = ObjectAccessor::FindUnit(*itr)) { if (Creature* creature = unit->ToCreature()) { if (!endbytimer) creature->setFaction(WintergraspFaction[GetDefenderTeam()]); HideNpc(creature); } } } // If endbytimer is false, battle is end by clicking on relic if (!endbytimer) { // Change all npc in keep for (GuidSet::const_iterator itr = KeepCreature[GetAttackerTeam()].begin(); itr != KeepCreature[GetAttackerTeam()].end(); ++itr) { if (Unit* unit = ObjectAccessor::FindUnit(*itr)) if (Creature* creature = unit->ToCreature()) HideNpc(creature); } for (GuidSet::const_iterator itr = KeepCreature[GetDefenderTeam()].begin(); itr != KeepCreature[GetDefenderTeam()].end(); ++itr) { if (Unit* unit = ObjectAccessor::FindUnit(*itr)) if (Creature* creature = unit->ToCreature()) ShowNpc(creature, true); } // Change all npc out of keep for (GuidSet::const_iterator itr = OutsideCreature[GetDefenderTeam()].begin(); itr != OutsideCreature[GetDefenderTeam()].end(); ++itr) { if (Unit* unit = ObjectAccessor::FindUnit(*itr)) if (Creature* creature = unit->ToCreature()) HideNpc(creature); } for (GuidSet::const_iterator itr = OutsideCreature[GetAttackerTeam()].begin(); itr != OutsideCreature[GetAttackerTeam()].end(); ++itr) { if (Unit* unit = ObjectAccessor::FindUnit(*itr)) if (Creature* creature = unit->ToCreature()) ShowNpc(creature, true); } } // Update all graveyard, control is to defender when no wartime for (uint8 i = 0; i < BATTLEFIELD_WG_GY_HORDE; i++) { if (GetGraveYardById(i)) { GetGraveYardById(i)->ChangeControl(GetDefenderTeam()); } } for (GameObjectSet::const_iterator itr = m_KeepGameObject[GetDefenderTeam()].begin(); itr != m_KeepGameObject[GetDefenderTeam()].end(); ++itr) (*itr)->SetRespawnTime(RESPAWN_IMMEDIATELY); for (GameObjectSet::const_iterator itr = m_KeepGameObject[GetAttackerTeam()].begin(); itr != m_KeepGameObject[GetAttackerTeam()].end(); ++itr) (*itr)->SetRespawnTime(RESPAWN_ONE_DAY); // Update portal defender faction for (GameObjectSet::const_iterator itr = DefenderPortalList.begin(); itr != DefenderPortalList.end(); ++itr) (*itr)->SetUInt32Value(GAMEOBJECT_FACTION, WintergraspFaction[GetDefenderTeam()]); // Saving data for (GameObjectBuilding::const_iterator itr = BuildingsInZone.begin(); itr != BuildingsInZone.end(); ++itr) (*itr)->Save(); for (WorkShop::const_iterator itr = WorkShopList.begin(); itr != WorkShopList.end(); ++itr) (*itr)->Save(); uint32 WinHonor = 0; uint32 LossHonor = 0; if (!endbytimer) { WinHonor = 3000 + 400 * m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_DEF] + 100 * m_Data32[BATTLEFIELD_WG_DATA_DAMAGED_TOWER_DEF]; LossHonor = 1000 + 400 * m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_ATT] + 100 * m_Data32[BATTLEFIELD_WG_DATA_DAMAGED_TOWER_ATT]; } else { WinHonor = 3000 + 400 * m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_ATT] + 100 * m_Data32[BATTLEFIELD_WG_DATA_DAMAGED_TOWER_ATT]; LossHonor = 1000 + 400 * m_Data32[BATTLEFIELD_WG_DATA_BROKEN_TOWER_DEF] + 100 * m_Data32[BATTLEFIELD_WG_DATA_DAMAGED_TOWER_DEF]; } for (GuidSet::const_iterator itr = m_PlayersInWar[GetDefenderTeam()].begin(); itr != m_PlayersInWar[GetDefenderTeam()].end(); ++itr) { if (Player* player = ObjectAccessor::FindPlayer(*itr)) { player->AddAura(SPELL_ESSENCE_OF_WINTERGRASP, player); if (player->HasAura(SPELL_LIEUTENANT)) { player->RewardHonor(NULL, 1, WinHonor); RewardMarkOfHonor(player, 3); } else if (player->HasAura(SPELL_CORPORAL)) { player->RewardHonor(NULL, 1, WinHonor); RewardMarkOfHonor(player, 2); } IncrementQuest(player, WGQuest[player->GetTeamId()][1], true); // Send Wintergrasp victory achievement DoCompleteOrIncrementAchievement(ACHIEVEMENTS_WIN_WG, player); // Award achievement for succeeding in Wintergrasp in 10 minutes or less if (!endbytimer && GetTimer() <= 10000) DoCompleteOrIncrementAchievement(ACHIEVEMENTS_WIN_WG_TIMER_10, player); } } for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr) { if (Player* player = ObjectAccessor::FindPlayer(*itr)) { if (player->HasAura(SPELL_LIEUTENANT)) { player->RewardHonor(NULL, 1, LossHonor); RewardMarkOfHonor(player, 1); } else if (player->HasAura(SPELL_CORPORAL)) { player->RewardHonor(NULL, 1, LossHonor); RewardMarkOfHonor(player, 1); } } } for (uint8 team = 0; team < 2; ++team) { for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr) { if (Player* player = ObjectAccessor::FindPlayer(*itr)) { player->RemoveAura(SPELL_TOWER_CONTROL); player->RemoveAurasDueToSpell(SPELL_RECRUIT); player->RemoveAurasDueToSpell(SPELL_CORPORAL); player->RemoveAurasDueToSpell(SPELL_LIEUTENANT); player->RemoveAurasDueToSpell(SPELL_TENACITY); player->RemoveAurasDueToSpell(SPELL_SPIRITUAL_IMMUNITY); } } m_PlayersInWar[team].clear(); for (GuidSet::const_iterator itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr) { if (Unit* unit = ObjectAccessor::FindUnit(*itr)) if (Creature* creature = unit->ToCreature()) if (creature->IsVehicle()) creature->GetVehicleKit()->Dismiss(); } m_vehicles[team].clear(); } if (!endbytimer) { for (uint8 team = 0; team < 2; ++team) { for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr) { if (Player* player = ObjectAccessor::FindPlayer(*itr)) { player->RemoveAurasDueToSpell(m_DefenderTeam == TEAM_ALLIANCE ? SPELL_HORDE_CONTROL_PHASE_SHIFT : SPELL_ALLIANCE_CONTROL_PHASE_SHIFT, player->GetGUID()); player->AddAura(m_DefenderTeam == TEAM_HORDE ? SPELL_HORDE_CONTROL_PHASE_SHIFT : SPELL_ALLIANCE_CONTROL_PHASE_SHIFT, player); } } } } if (!endbytimer) { // win alli/horde SendWarningToAllInZone((GetDefenderTeam() == TEAM_ALLIANCE) ? BATTLEFIELD_WG_TEXT_WIN_KEEP : BATTLEFIELD_WG_TEXT_WIN_KEEP + 1); } else { // defend alli/horde SendWarningToAllInZone((GetDefenderTeam() == TEAM_ALLIANCE) ? BATTLEFIELD_WG_TEXT_DEFEND_KEEP : BATTLEFIELD_WG_TEXT_DEFEND_KEEP + 1); } }
// Called when player kill a unit in wg zone void BattlefieldWG::HandleKill(Player* killer, Unit* victim) { if (killer == victim) return; bool again = false; if (victim->GetTypeId() == TYPEID_PLAYER) { IncrementQuest(killer, WGQuest[killer->GetTeamId()][4]); IncrementQuest(killer, WGQuest[killer->GetTeamId()][5]); for (GuidSet::const_iterator itr = m_PlayersInWar[killer->GetTeamId()].begin(); itr != m_PlayersInWar[killer->GetTeamId()].end(); ++itr) { if (Player* player = ObjectAccessor::FindPlayer(*itr)) if (player->GetDistance2d(killer) < 40) PromotePlayer(player); } return; } for (GuidSet::const_iterator itr = m_vehicles[killer->GetTeamId()? TEAM_ALLIANCE : TEAM_HORDE].begin(); itr != m_vehicles[killer->GetTeamId()? TEAM_ALLIANCE : TEAM_HORDE].end(); ++itr) { if (Unit* unit = ObjectAccessor::FindUnit(*itr)) { if (Creature* creature = unit->ToCreature()) { if (victim->GetEntry() == creature->GetEntry() && !again) { again = true; for (GuidSet::const_iterator iter = m_PlayersInWar[killer->GetTeamId()].begin(); iter != m_PlayersInWar[killer->GetTeamId()].end(); ++iter) { if (Player* player = ObjectAccessor::FindPlayer(*iter)) if (player->GetDistance2d(killer) < 40) IncrementQuest(player, WGQuest[player->GetTeamId()][0]); } } } } } for (GuidSet::const_iterator itr = KeepCreature[killer->GetTeamId()? TEAM_ALLIANCE : TEAM_HORDE].begin(); itr != KeepCreature[killer->GetTeamId()? TEAM_ALLIANCE : TEAM_HORDE].end(); ++itr) { if (Unit* unit = ObjectAccessor::FindUnit(*itr)) { if (Creature* creature = unit->ToCreature()) { if (victim->GetEntry() == creature->GetEntry() && !again) { again = true; IncrementQuest(killer, WGQuest[killer->GetTeamId()][4]); IncrementQuest(killer, WGQuest[killer->GetTeamId()][5]); for (GuidSet::const_iterator iter = m_PlayersInWar[killer->GetTeamId()].begin(); iter != m_PlayersInWar[killer->GetTeamId()].end(); ++iter) { if (Player* player = ObjectAccessor::FindPlayer(*iter)) if (player->GetDistance2d(killer) < 40) PromotePlayer(player); } } } } } // TODO:Recent PvP activity worldstate }
void BattlefieldTB::OnBattleEnd(bool endbytimer) { if (sWorld->getWorldState(WS_TB_UNK_2) > (uint64)time(NULL)) { if (sWorld->getWorldState(WS_TB_UNK) > 2) sWorld->setWorldState(WS_TB_UNK, 1); else sWorld->setWorldState(WS_TB_UNK, (sWorld->getWorldState(WS_TB_UNK) + 1)); sWorld->setWorldState(WS_TB_UNK_2, time(NULL) + 86400); } for (uint8 team = 0; team < 2; ++team) { for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr) { if (Player* plr = sObjectMgr->GetPlayerByLowGUID((*itr))) { if (endbytimer) { if (plr->GetTeamId() == GetDefenderTeam()) { switch (plr->GetTeamId()) { case TEAM_ALLIANCE: plr->CastSpell(plr, SPELL_TB_VICTORY_REWARD_ALLIANCE, true); plr->CastSpell(plr, SPELL_TB_TOL_BARAD_VETERAN, true); plr->CastSpell(plr, SPELL_TB_TOL_BARAD_TOWER_BONUS, true); IncrementQuest(plr, QUEST_TB_TOL_BARAD_VICTORY_IN_TOL_BARAD_A, true); break; case TEAM_HORDE: plr->CastSpell(plr, SPELL_TB_VICTORY_REWARD_HORDE, true); plr->CastSpell(plr, SPELL_TB_TOL_BARAD_VETERAN, true); plr->CastSpell(plr, SPELL_TB_TOL_BARAD_TOWER_BONUS, true); IncrementQuest(plr, QUEST_TB_TOL_BARAD_VICTORY_IN_TOL_BARAD_H, true); break; } DoCompleteOrIncrementAchievement(ACHIEVEMENT_TOL_BARAD_VICTORY, plr, 1); if (m_Data32[BATTLEFIELD_TB_DATA_DESTROYED] == 0) plr->CastSpell(plr, SPELL_TB_TOL_BARAD_TOWER_DEFENDED, true); } else { switch (plr->GetTeamId()) { case TEAM_ALLIANCE: IncrementQuest(plr, QUEST_TB_TOL_BARAD_VICTORY_IN_TOL_BARAD_A, true); break; case TEAM_HORDE: IncrementQuest(plr, QUEST_TB_TOL_BARAD_VICTORY_IN_TOL_BARAD_H, true); break; } plr->CastSpell(plr, SPELL_TB_LOOSER_REWARD, true); plr->RepopAtGraveyard(); } } else { if (plr->GetTeamId() == GetAttackerTeam()) { switch (team) { case TEAM_ALLIANCE: plr->CastSpell(plr, SPELL_TB_VICTORY_REWARD_ALLIANCE, true); break; case TEAM_HORDE: plr->CastSpell(plr, SPELL_TB_VICTORY_REWARD_HORDE, true); break; } } else { plr->CastSpell(plr, SPELL_TB_LOOSER_REWARD, true); plr->RepopAtGraveyard(); } } } } m_PlayersInWar[team].clear(); } for (TbGameObjectBuilding::const_iterator itr = BuildingsInZone.begin(); itr != BuildingsInZone.end(); ++itr) if ((*itr)) (*itr)->Rebuild(); for (TbWorkShop::const_iterator itr = WorkShopList.begin(); itr != WorkShopList.end(); ++itr) if ((*itr)) (*itr)->UpdateWorkshop(); for (BfCapturePointSet::const_iterator itr = CapturePoints.begin(); itr != CapturePoints.end(); ++itr) if ((*itr)) (*itr)->UpdateCapturePointValue(); for (uint8 i = 0; i < BATTLEFIELD_TB_GY_MAX; i++) m_GraveyardList[i]->GiveControlTo(GetDefenderTeam()); if (GetDefenderTeam() == TEAM_ALLIANCE) { for (GuidSet::const_iterator itr = npcAlliance.begin(); itr != npcAlliance.end(); ++itr) if (Unit* unit = sObjectAccessor->FindUnit((*itr))) if (Creature* creature = unit->ToCreature()) ShowNpc(creature, true); for (GuidSet::const_iterator itr = npcHorde.begin(); itr != npcHorde.end(); ++itr) if (Unit* unit = sObjectAccessor->FindUnit((*itr))) if (Creature* creature = unit->ToCreature()) HideNpc(creature); } else if (GetDefenderTeam() == TEAM_HORDE) { for (GuidSet::const_iterator itr = npcAlliance.begin(); itr != npcAlliance.end(); ++itr) if (Unit* unit = sObjectAccessor->FindUnit((*itr))) if (Creature* creature = unit->ToCreature()) ShowNpc(creature, true); for (GuidSet::const_iterator itr = npcHorde.begin(); itr != npcHorde.end(); ++itr) if (Unit* unit = sObjectAccessor->FindUnit((*itr))) if (Creature* creature = unit->ToCreature()) HideNpc(creature); } for (GuidSet::const_iterator itr = npcOld.begin(); itr != npcOld.end(); ++itr) if (Unit* unit = sObjectAccessor->FindUnit((*itr))) if (Creature* creature = unit->ToCreature()) ShowNpc(creature, true); for (GameobjectSet::const_iterator itr = goDoors.begin(); itr != goDoors.end(); ++itr) { if (*itr) { (*itr)->ToGameObject()->SetLootState(GO_READY); (*itr)->ToGameObject()->UseDoorOrButton(); } } for (GuidSet::const_iterator itr = Vehicles.begin(); itr != Vehicles.end(); ++itr) if (Unit* unit = sObjectAccessor->FindUnit((*itr))) if (Creature* creature = unit->ToCreature()) HideNpc(creature); for (GuidSet::const_iterator itr = questgiversA.begin(); itr != questgiversA.end(); ++itr) if (Unit* unit = sObjectAccessor->FindUnit((*itr))) if (Creature* creature = unit->ToCreature()) HideNpc(creature); for (GuidSet::const_iterator itr = questgiversH.begin(); itr != questgiversH.end(); ++itr) if (Unit* unit = sObjectAccessor->FindUnit((*itr))) if (Creature* creature = unit->ToCreature()) HideNpc(creature); int i = 0; GuidSet questgivers = GetDefenderTeam() == TEAM_ALLIANCE ? questgiversA : questgiversH; for (GuidSet::const_iterator itr = questgivers.begin(); itr != questgivers.end(); ++itr) { if (Unit* unit = sObjectAccessor->FindUnit((*itr))) { if (Creature* creature = unit->ToCreature()) { if (!i || i == sWorld->getWorldState(WS_TB_UNK)) ShowNpc(creature, true); i++; } } } HashMapHolder<Player>::MapType const& plist = sObjectAccessor->GetPlayers(); for (HashMapHolder<Player>::MapType::const_iterator itr = plist.begin(); itr != plist.end(); ++itr) { if (Player* plr = itr->second) { plr->SendUpdateWorldState(WS_TB_BATTLE_TIMER_ENABLED, 0); plr->SendUpdateWorldState(WS_TB_BATTLE_TIMER, 0); plr->SendUpdateWorldState(WS_TB_COUNTER_BUILDINGS, 0); plr->SendUpdateWorldState(WS_TB_COUNTER_BUILDINGS_ENABLED, 0); plr->SendUpdateWorldState(WS_TB_HORDE_DEFENCE, 0); plr->SendUpdateWorldState(WS_TB_ALLIANCE_DEFENCE, 0); plr->SendUpdateWorldState(WS_TB_NEXT_BATTLE_TIMER_ENABLED, 1); plr->SendUpdateWorldState(WS_TB_KEEP_HORDE_DEFENCE, GetDefenderTeam() == TEAM_HORDE ? 1 : 0); plr->SendUpdateWorldState(WS_TB_KEEP_ALLIANCE_DEFENCE, GetDefenderTeam() == TEAM_ALLIANCE ? 1 : 0); plr->SendUpdateWorldState(WS_TB_ALLIANCE_ATTACK, 0); plr->SendUpdateWorldState(WS_TB_HORDE_ATTACK, 0); switch (GetDefenderTeam()) { case TEAM_ALLIANCE: for (int i = 0; i < MAX_CP_DIFF; i++) { if (i == ALLIANCE_DEFENCE) plr->SendUpdateWorldState(WS_TB_SOUTH_CAPTURE_POINT + i, 1); else plr->SendUpdateWorldState(WS_TB_SOUTH_CAPTURE_POINT + i, 0); } for (int i = 0; i < MAX_CP_DIFF; i++) { if (i == ALLIANCE_DEFENCE) plr->SendUpdateWorldState(WS_TB_EAST_CAPTURE_POINT + i, 1); else plr->SendUpdateWorldState(WS_TB_EAST_CAPTURE_POINT + i, 0); } for (int i = 0; i < MAX_CP_DIFF; i++) { if (i == ALLIANCE_DEFENCE) plr->SendUpdateWorldState(WS_TB_WEST_CAPTURE_POINT + i, 1); else plr->SendUpdateWorldState(WS_TB_WEST_CAPTURE_POINT + i, 0); } for (int i = 0; i < BUILDING_MAX_DIFF; i++) { if (i == BUILDING_ALLIANCE_DEFENCE) plr->SendUpdateWorldState(WS_TB_EAST_SPIRE + i, 1); else plr->SendUpdateWorldState(WS_TB_EAST_SPIRE + i, 0); } for (int i = 0; i < BUILDING_MAX_DIFF; i++) { if (i == BUILDING_ALLIANCE_DEFENCE) plr->SendUpdateWorldState(WS_TB_SOUTH_SPIRE + i, 1); else plr->SendUpdateWorldState(WS_TB_SOUTH_SPIRE + i, 0); } for (int i = 0; i < BUILDING_MAX_DIFF; i++) { if (i == BUILDING_ALLIANCE_DEFENCE) plr->SendUpdateWorldState(WS_TB_WEST_SPIRE + i, 1); else plr->SendUpdateWorldState(WS_TB_WEST_SPIRE + i, 0); } break; case TEAM_HORDE: for (int i = 0; i < MAX_CP_DIFF; i++) { if (i == HORDE_DEFENCE) plr->SendUpdateWorldState(WS_TB_SOUTH_CAPTURE_POINT + i, 1); else plr->SendUpdateWorldState(WS_TB_SOUTH_CAPTURE_POINT + i, 0); } for (int i = 0; i < MAX_CP_DIFF; i++) { if (i == HORDE_DEFENCE) plr->SendUpdateWorldState(WS_TB_EAST_CAPTURE_POINT + i, 1); else plr->SendUpdateWorldState(WS_TB_EAST_CAPTURE_POINT + i, 0); } for (int i = 0; i < MAX_CP_DIFF; i++) { if (i == HORDE_DEFENCE) plr->SendUpdateWorldState(WS_TB_WEST_CAPTURE_POINT + i, 1); else plr->SendUpdateWorldState(WS_TB_WEST_CAPTURE_POINT + i, 0); } for (int i = 0; i < BUILDING_MAX_DIFF; i++) { if (i == BUILDING_HORDE_DEFENCE) plr->SendUpdateWorldState(WS_TB_EAST_SPIRE + i, 1); else plr->SendUpdateWorldState(WS_TB_EAST_SPIRE + i, 0); } for (int i = 0; i < BUILDING_MAX_DIFF; i++) { if (i == BUILDING_HORDE_DEFENCE) plr->SendUpdateWorldState(WS_TB_SOUTH_SPIRE + i, 1); else plr->SendUpdateWorldState(WS_TB_SOUTH_SPIRE + i, 0); } for (int i = 0; i < BUILDING_MAX_DIFF; i++) { if (i == BUILDING_HORDE_DEFENCE) plr->SendUpdateWorldState(WS_TB_WEST_SPIRE + i, 1); else plr->SendUpdateWorldState(WS_TB_WEST_SPIRE + i, 0); } break; } } } m_Data32[BATTLEFIELD_TB_DATA_CAPTURED] = 0; m_Data32[BATTLEFIELD_TB_DATA_DESTROYED] = 0; }