refactor(Core/Game): restyle game lib with astyle (#3466)

This commit is contained in:
Kargatum
2020-10-12 15:08:15 +07:00
committed by GitHub
parent e99b526e17
commit a2b26272d2
338 changed files with 52196 additions and 50944 deletions

View File

@@ -386,7 +386,7 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer)
// 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)
{
@@ -433,7 +433,7 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer)
{
// Victory in Wintergrasp
player->AreaExploredOrEventHappens(GetDefenderTeam() ? 13183 : 13181); // HORDE / ALLY win wg quest id
player->CastSpell(player, SPELL_ESSENCE_OF_WINTERGRASP, true);
player->CastSpell(player, SPELL_VICTORY_REWARD, true);
RemoveAurasFromPlayer(player);
@@ -542,17 +542,17 @@ void BattlefieldWG::OnCreatureCreate(Creature* creature)
{
case NPC_DWARVEN_SPIRIT_GUIDE:
case NPC_TAUNKA_SPIRIT_GUIDE:
{
TeamId teamId = (creature->GetEntry() == NPC_DWARVEN_SPIRIT_GUIDE ? TEAM_ALLIANCE : TEAM_HORDE);
uint8 graveyardId = GetSpiritGraveyardId(creature->GetAreaId(true));
// xinef: little workaround, there are 2 spirit guides in same area
if (creature->IsWithinDist2d(5103.0f, 3461.5f, 5.0f))
graveyardId = BATTLEFIELD_WG_GY_WORKSHOP_NW;
{
TeamId teamId = (creature->GetEntry() == NPC_DWARVEN_SPIRIT_GUIDE ? TEAM_ALLIANCE : TEAM_HORDE);
uint8 graveyardId = GetSpiritGraveyardId(creature->GetAreaId(true));
// xinef: little workaround, there are 2 spirit guides in same area
if (creature->IsWithinDist2d(5103.0f, 3461.5f, 5.0f))
graveyardId = BATTLEFIELD_WG_GY_WORKSHOP_NW;
if (m_GraveyardList[graveyardId])
m_GraveyardList[graveyardId]->SetSpirit(creature, teamId);
break;
}
if (m_GraveyardList[graveyardId])
m_GraveyardList[graveyardId]->SetSpirit(creature, teamId);
break;
}
}
// untested code - not sure if it is valid.
@@ -564,92 +564,92 @@ void BattlefieldWG::OnCreatureCreate(Creature* creature)
case NPC_WINTERGRASP_SIEGE_ENGINE_HORDE:
case NPC_WINTERGRASP_CATAPULT:
case NPC_WINTERGRASP_DEMOLISHER:
{
if (!creature->IsSummon() || !creature->ToTempSummon()->GetSummonerGUID())
return;
Player* creator = ObjectAccessor::FindPlayer(creature->ToTempSummon()->GetSummonerGUID());
if (!creator)
return;
TeamId team = creator->GetTeamId();
if (team == TEAM_HORDE)
{
if (GetData(BATTLEFIELD_WG_DATA_VEHICLE_H) < GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_H))
if (!creature->IsSummon() || !creature->ToTempSummon()->GetSummonerGUID())
return;
Player* creator = ObjectAccessor::FindPlayer(creature->ToTempSummon()->GetSummonerGUID());
if (!creator)
return;
TeamId team = creator->GetTeamId();
if (team == TEAM_HORDE)
{
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_H, 1);
creature->CastSpell(creature, SPELL_HORDE_FLAG, true);
m_vehicles[team].insert(creature->GetGUID());
UpdateVehicleCountWG();
if (GetData(BATTLEFIELD_WG_DATA_VEHICLE_H) < GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_H))
{
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_H, 1);
creature->CastSpell(creature, SPELL_HORDE_FLAG, true);
m_vehicles[team].insert(creature->GetGUID());
UpdateVehicleCountWG();
}
else
{
creature->DespawnOrUnsummon();
return;
}
}
else
{
creature->DespawnOrUnsummon();
return;
if (GetData(BATTLEFIELD_WG_DATA_VEHICLE_A) < GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_A))
{
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_A, 1);
creature->CastSpell(creature, SPELL_ALLIANCE_FLAG, true);
m_vehicles[team].insert(creature->GetGUID());
UpdateVehicleCountWG();
}
else
{
creature->DespawnOrUnsummon();
return;
}
}
break;
}
else
{
if (GetData(BATTLEFIELD_WG_DATA_VEHICLE_A) < GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_A))
{
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_A, 1);
creature->CastSpell(creature, SPELL_ALLIANCE_FLAG, true);
m_vehicles[team].insert(creature->GetGUID());
UpdateVehicleCountWG();
}
else
{
creature->DespawnOrUnsummon();
return;
}
}
break;
}
case NPC_WINTERGRASP_SIEGE_ENGINE_TURRET_HORDE:
case NPC_WINTERGRASP_SIEGE_ENGINE_TURRET_ALLIANCE:
{
if (!creature->IsSummon() || !creature->ToTempSummon()->GetSummonerGUID())
return;
{
if (!creature->IsSummon() || !creature->ToTempSummon()->GetSummonerGUID())
return;
if (Unit* owner = creature->ToTempSummon()->GetSummoner())
creature->setFaction(owner->getFaction());
break;
}
if (Unit* owner = creature->ToTempSummon()->GetSummoner())
creature->setFaction(owner->getFaction());
break;
}
}
}
}
void BattlefieldWG::OnCreatureRemove(Creature* /*creature*/)
{
/* possibly can be used later
if (IsWarTime())
{
switch (creature->GetEntry())
/* possibly can be used later
if (IsWarTime())
{
case NPC_WINTERGRASP_SIEGE_ENGINE_ALLIANCE:
case NPC_WINTERGRASP_SIEGE_ENGINE_HORDE:
case NPC_WINTERGRASP_CATAPULT:
case NPC_WINTERGRASP_DEMOLISHER:
switch (creature->GetEntry())
{
uint8 team;
if (creature->getFaction() == WintergraspFaction[TEAM_ALLIANCE])
team = TEAM_ALLIANCE;
else if (creature->getFaction() == WintergraspFaction[TEAM_HORDE])
team = TEAM_HORDE;
else
return;
case NPC_WINTERGRASP_SIEGE_ENGINE_ALLIANCE:
case NPC_WINTERGRASP_SIEGE_ENGINE_HORDE:
case NPC_WINTERGRASP_CATAPULT:
case NPC_WINTERGRASP_DEMOLISHER:
{
uint8 team;
if (creature->getFaction() == WintergraspFaction[TEAM_ALLIANCE])
team = TEAM_ALLIANCE;
else if (creature->getFaction() == WintergraspFaction[TEAM_HORDE])
team = TEAM_HORDE;
else
return;
m_vehicles[team].erase(creature->GetGUID());
if (team == TEAM_HORDE)
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_H, -1);
else
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_A, -1);
UpdateVehicleCountWG();
m_vehicles[team].erase(creature->GetGUID());
if (team == TEAM_HORDE)
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_H, -1);
else
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_A, -1);
UpdateVehicleCountWG();
break;
break;
}
}
}
}*/
}*/
}
void BattlefieldWG::OnGameObjectCreate(GameObject* go)
@@ -729,9 +729,9 @@ bool BattlefieldWG::FindAndRemoveVehicleFromList(Unit* vehicle)
{
//m_vehicles[itr].erase(vehicle->GetGUID());
if (itr == TEAM_HORDE)
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_H,-1);
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_H, -1);
else
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_A,-1);
UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_A, -1);
return true;
}
}
@@ -813,7 +813,7 @@ void BattlefieldWG::OnPlayerJoinWar(Player* player)
else
{
if (GetData(BATTLEFIELD_WG_DATA_BROKEN_TOWER_ATT) > 0)
player->SetAuraStack(SPELL_TOWER_CONTROL, player, GetData(BATTLEFIELD_WG_DATA_BROKEN_TOWER_ATT));
player->SetAuraStack(SPELL_TOWER_CONTROL, player, GetData(BATTLEFIELD_WG_DATA_BROKEN_TOWER_ATT));
}
SendInitWorldStatesTo(player);
}
@@ -927,15 +927,15 @@ void BattlefieldWG::SendInitWorldStatesToAll()
void BattlefieldWG::BrokenWallOrTower(TeamId /*team*/)
{
// might be some use for this in the future. old code commented out below. KL
/* if (team == GetDefenderTeam())
{
for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr)
// might be some use for this in the future. old code commented out below. KL
/* if (team == GetDefenderTeam())
{
if (Player* player = ObjectAccessor::FindPlayer(*itr))
IncrementQuest(player, WGQuest[player->GetTeamId()][2], true);
}
}*/
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
@@ -989,7 +989,7 @@ void BattlefieldWG::UpdatedDestroyedTowerCount(TeamId team, GameObject* go)
}
}
void BattlefieldWG::ProcessEvent(WorldObject *obj, uint32 eventId)
void BattlefieldWG::ProcessEvent(WorldObject* obj, uint32 eventId)
{
if (!obj || !IsWarTime())
return;
@@ -1004,7 +1004,7 @@ void BattlefieldWG::ProcessEvent(WorldObject *obj, uint32 eventId)
{
if (CanInteractWithRelic())
EndBattle(false);
else if (GameObject*go = GetRelic())
else if (GameObject* go = GetRelic())
go->SetRespawnTime(RESPAWN_IMMEDIATELY);
}

View File

@@ -122,13 +122,13 @@ enum WintergraspAreaIds
class BfGraveyardWG : public BfGraveyard
{
public:
BfGraveyardWG(BattlefieldWG *Bf);
public:
BfGraveyardWG(BattlefieldWG* Bf);
void SetTextId(uint32 textid) { m_GossipTextId = textid; }
uint32 GetTextId() { return m_GossipTextId; }
protected:
uint32 m_GossipTextId;
void SetTextId(uint32 textid) { m_GossipTextId = textid; }
uint32 GetTextId() { return m_GossipTextId; }
protected:
uint32 m_GossipTextId;
};
enum WGGraveyardId
@@ -222,12 +222,14 @@ struct BfWGCoordGY
TeamId startcontrol;
};
const uint32 WGQuest[2][6] = {
const uint32 WGQuest[2][6] =
{
{ 13186, 13181, 13222, 13538, 13177, 13179 },
{ 13185, 13183, 13223, 13539, 13178, 13180 },
};
// 7 in sql, 7 in header
const BfWGCoordGY WGGraveYard[BATTLEFIELD_WG_GRAVEYARD_MAX] = {
const BfWGCoordGY WGGraveYard[BATTLEFIELD_WG_GRAVEYARD_MAX] =
{
{ 5104.750f, 2300.940f, 368.579f, 0.733038f, 1329, BATTLEFIELD_WG_GY_WORKSHOP_NE, BATTLEFIELD_WG_GOSSIPTEXT_GY_NE, TEAM_NEUTRAL },
{ 5099.120f, 3466.036f, 368.484f, 5.317802f, 1330, BATTLEFIELD_WG_GY_WORKSHOP_NW, BATTLEFIELD_WG_GOSSIPTEXT_GY_NW, TEAM_NEUTRAL },
{ 4314.648f, 2408.522f, 392.642f, 6.268125f, 1333, BATTLEFIELD_WG_GY_WORKSHOP_SE, BATTLEFIELD_WG_GOSSIPTEXT_GY_SE, TEAM_NEUTRAL },
@@ -243,16 +245,16 @@ const BfWGCoordGY WGGraveYard[BATTLEFIELD_WG_GRAVEYARD_MAX] = {
class WintergraspCapturePoint : public BfCapturePoint
{
public:
WintergraspCapturePoint(BattlefieldWG* battlefield, TeamId teamInControl);
public:
WintergraspCapturePoint(BattlefieldWG* battlefield, TeamId teamInControl);
void LinkToWorkshop(WGWorkshop* workshop) { m_Workshop = workshop; }
void LinkToWorkshop(WGWorkshop* workshop) { m_Workshop = workshop; }
void ChangeTeam(TeamId oldteam);
TeamId GetTeam() const { return m_team; }
void ChangeTeam(TeamId oldteam);
TeamId GetTeam() const { return m_team; }
protected:
WGWorkshop* m_Workshop;
protected:
WGWorkshop* m_Workshop;
};
/* ######################### *
@@ -261,206 +263,206 @@ class WintergraspCapturePoint : public BfCapturePoint
class BattlefieldWG : public Battlefield
{
public:
~BattlefieldWG();
/**
* \brief Called when the battle start
* - Spawn relic and turret
* - Rebuild tower and wall
* - Invite player to war
*/
void OnBattleStart();
public:
~BattlefieldWG();
/**
* \brief Called when the battle start
* - Spawn relic and turret
* - Rebuild tower and wall
* - Invite player to war
*/
void OnBattleStart();
/**
* \brief Called when battle end
* - Remove relic and turret
* - Change banner/npc in keep if it needed
* - Saving battlestate
* - Reward honor/mark to player
* - Remove vehicle
* \param endByTimer : true if battle ended when timer is at 00:00, false if battle ended by clicking on relic
*/
void OnBattleEnd(bool endByTimer);
/**
* \brief Called when battle end
* - Remove relic and turret
* - Change banner/npc in keep if it needed
* - Saving battlestate
* - Reward honor/mark to player
* - Remove vehicle
* \param endByTimer : true if battle ended when timer is at 00:00, false if battle ended by clicking on relic
*/
void OnBattleEnd(bool endByTimer);
/**
* \brief Called when grouping starts (15 minutes before battlestart)
* - Invite all player in zone to join queue
*/
void OnStartGrouping();
/**
* \brief Called when grouping starts (15 minutes before battlestart)
* - Invite all player in zone to join queue
*/
void OnStartGrouping();
/**
* \brief Called when player accept invite to join battle
* - Update aura
* - Teleport if it needed
* - Update worldstate
* - Update tenacity
* \param player: Player who accepted invite
*/
void OnPlayerJoinWar(Player* player);
/**
* \brief Called when player accept invite to join battle
* - Update aura
* - Teleport if it needed
* - Update worldstate
* - Update tenacity
* \param player: Player who accepted invite
*/
void OnPlayerJoinWar(Player* player);
/**
* \brief Called when player left the battle
* - Update player aura
* \param player : Player who left the battle
*/
void OnPlayerLeaveWar(Player* player);
/**
* \brief Called when player left the battle
* - Update player aura
* \param player : Player who left the battle
*/
void OnPlayerLeaveWar(Player* player);
/**
* \brief Called when player left the WG zone
* \param player : Player who left the zone
*/
void OnPlayerLeaveZone(Player* player);
/**
* \brief Called when player left the WG zone
* \param player : Player who left the zone
*/
void OnPlayerLeaveZone(Player* player);
/**
* \brief Called when player enters in WG zone
* - Update aura
* - Update worldstate
* \param player : Player who enters the zone
*/
void OnPlayerEnterZone(Player* player);
/**
* \brief Called when player enters in WG zone
* - Update aura
* - Update worldstate
* \param player : Player who enters the zone
*/
void OnPlayerEnterZone(Player* player);
/**
* \brief Called for update battlefield data
* - Save battle timer in database every minutes
* - Update imunity aura from graveyard
* \param diff : time elapsed since the last call (in ms)
*/
bool Update(uint32 diff);
/**
* \brief Called for update battlefield data
* - Save battle timer in database every minutes
* - Update imunity aura from graveyard
* \param diff : time elapsed since the last call (in ms)
*/
bool Update(uint32 diff);
/**
* \brief Called when a creature is created
* - Update vehicle count
*/
void OnCreatureCreate(Creature* creature);
/**
* \brief Called when a creature is created
* - Update vehicle count
*/
void OnCreatureCreate(Creature* creature);
/**
* \brief Called when a creature is removed
* - Update vehicle count
*/
void OnCreatureRemove(Creature* creature);
/**
* \brief Called when a creature is removed
* - Update vehicle count
*/
void OnCreatureRemove(Creature* creature);
/**
* \brief Called when a gameobject is created
*/
void OnGameObjectCreate(GameObject* go);
/**
* \brief Called when a gameobject is created
*/
void OnGameObjectCreate(GameObject* go);
/**
* \brief Called when a wall/tower is broken
* - Update quest
*/
void BrokenWallOrTower(TeamId team);
/**
* \brief Called when a wall/tower is broken
* - Update quest
*/
void BrokenWallOrTower(TeamId team);
/**
* \brief Called when a tower is damaged
* - Update tower count (for reward calcul)
*/
void UpdateDamagedTowerCount(TeamId team);
/**
* \brief Called when a tower is damaged
* - Update tower count (for reward calcul)
*/
void UpdateDamagedTowerCount(TeamId team);
/**
* \brief Called when tower is broken
* - Update tower buff
* - check if three south tower is down for remove 10 minutes to wg
*/
void UpdatedDestroyedTowerCount(TeamId team, GameObject* go);
/**
* \brief Called when tower is broken
* - Update tower buff
* - check if three south tower is down for remove 10 minutes to wg
*/
void UpdatedDestroyedTowerCount(TeamId team, GameObject* go);
//void DoCompleteOrIncrementAchievement(uint32 achievement, Player* player, uint8 incrementNumber = 1);
void RemoveAurasFromPlayer(Player* player);
//void DoCompleteOrIncrementAchievement(uint32 achievement, Player* player, uint8 incrementNumber = 1);
/**
* \brief Called when battlefield is setup, at server start
*/
bool SetupBattlefield();
void RemoveAurasFromPlayer(Player* player);
/// Return pointer to relic object
GameObject* GetRelic() { return ObjectAccessor::GetObjectInWorld(m_titansRelic, (GameObject*)NULL); }
/**
* \brief Called when battlefield is setup, at server start
*/
bool SetupBattlefield();
/// Define relic object
//void SetRelic(GameObject* relic) { m_titansRelic = relic; }
/// Return pointer to relic object
GameObject* GetRelic() { return ObjectAccessor::GetObjectInWorld(m_titansRelic, (GameObject*)NULL); }
/// Check if players can interact with the relic (Only if the last door has been broken)
bool CanInteractWithRelic() { return m_isRelicInteractible; }
/// Define relic object
//void SetRelic(GameObject* relic) { m_titansRelic = relic; }
/// Define if player can interact with the relic
void SetRelicInteractible(bool allow) { m_isRelicInteractible = allow; }
/// Check if players can interact with the relic (Only if the last door has been broken)
bool CanInteractWithRelic() { return m_isRelicInteractible; }
/// Vehicle world states update
void UpdateCounterVehicle(bool init);
void UpdateVehicleCountWG();
void CapturePointTaken(uint32 areaId);
/// Define if player can interact with the relic
void SetRelicInteractible(bool allow) { m_isRelicInteractible = allow; }
void SendInitWorldStatesTo(Player* player);
void SendInitWorldStatesToAll();
void FillInitialWorldStates(WorldPacket& data);
/// Vehicle world states update
void UpdateCounterVehicle(bool init);
void UpdateVehicleCountWG();
void CapturePointTaken(uint32 areaId);
void HandleKill(Player* killer, Unit* victim);
void OnUnitDeath(Unit* unit);
void PromotePlayer(Player* killer);
void SendInitWorldStatesTo(Player* player);
void SendInitWorldStatesToAll();
void FillInitialWorldStates(WorldPacket& data);
uint32 GetHonorBuff(int32 stack) const;
void UpdateTenacity();
void AddUpdateTenacity(Player* player);
void RemoveUpdateTenacity(Player* player);
void ProcessEvent(WorldObject *obj, uint32 eventId);
void HandleKill(Player* killer, Unit* victim);
void OnUnitDeath(Unit* unit);
void PromotePlayer(Player* killer);
bool FindAndRemoveVehicleFromList(Unit* vehicle);
uint32 GetHonorBuff(int32 stack) const;
void UpdateTenacity();
void AddUpdateTenacity(Player* player);
void RemoveUpdateTenacity(Player* player);
void ProcessEvent(WorldObject* obj, uint32 eventId);
// returns the graveyardId in the specified area.
uint8 GetSpiritGraveyardId(uint32 areaId) const;
uint32 GetAreaByGraveyardId(uint8 gId) const;
bool FindAndRemoveVehicleFromList(Unit* vehicle);
uint32 GetData(uint32 data) const;
// returns the graveyardId in the specified area.
uint8 GetSpiritGraveyardId(uint32 areaId) const;
uint32 GetAreaByGraveyardId(uint8 gId) const;
bool IsKeepNpc(uint32 entry)
uint32 GetData(uint32 data) const;
bool IsKeepNpc(uint32 entry)
{
switch (entry)
{
switch (entry)
{
case BATTLEFIELD_WG_NPC_GUARD_H:
case BATTLEFIELD_WG_NPC_GUARD_A:
case BATTLEFIELD_WG_NPC_VIERON_BLAZEFEATHER:
case BATTLEFIELD_WG_NPC_BOWYER_RANDOLPH:
case BATTLEFIELD_WG_NPC_STONE_GUARD_MUKAR:
case BATTLEFIELD_WG_NPC_KNIGHT_DAMERON:
case BATTLEFIELD_WG_NPC_HOODOO_MASTER_FU_JIN:
case BATTLEFIELD_WG_NPC_SORCERESS_KAYLANA:
case BATTLEFIELD_WG_NPC_CHAMPION_ROS_SLAI:
case BATTLEFIELD_WG_NPC_MARSHAL_MAGRUDER:
case BATTLEFIELD_WG_NPC_COMMANDER_DARDOSH:
case BATTLEFIELD_WG_NPC_COMMANDER_ZANNETH:
case BATTLEFIELD_WG_NPC_TACTICAL_OFFICER_KILRATH:
case BATTLEFIELD_WG_NPC_TACTICAL_OFFICER_AHBRAMIS:
case BATTLEFIELD_WG_NPC_HORDE_WARBRINGER:
case BATTLEFIELD_WG_NPC_BRIGADIER_GENERAL:
case BATTLEFIELD_WG_NPC_SIEGESMITH_STRONGHOOF:
case BATTLEFIELD_WG_NPC_SIEGE_MASTER_STOUTHANDLE:
case BATTLEFIELD_WG_NPC_PRIMALIST_MULFORT:
case BATTLEFIELD_WG_NPC_ANCHORITE_TESSA:
case BATTLEFIELD_WG_NPC_LIEUTENANT_MURP:
case BATTLEFIELD_WG_NPC_SENIOR_DEMOLITIONIST_LEGOSO:
return true;
}
return false;
case BATTLEFIELD_WG_NPC_GUARD_H:
case BATTLEFIELD_WG_NPC_GUARD_A:
case BATTLEFIELD_WG_NPC_VIERON_BLAZEFEATHER:
case BATTLEFIELD_WG_NPC_BOWYER_RANDOLPH:
case BATTLEFIELD_WG_NPC_STONE_GUARD_MUKAR:
case BATTLEFIELD_WG_NPC_KNIGHT_DAMERON:
case BATTLEFIELD_WG_NPC_HOODOO_MASTER_FU_JIN:
case BATTLEFIELD_WG_NPC_SORCERESS_KAYLANA:
case BATTLEFIELD_WG_NPC_CHAMPION_ROS_SLAI:
case BATTLEFIELD_WG_NPC_MARSHAL_MAGRUDER:
case BATTLEFIELD_WG_NPC_COMMANDER_DARDOSH:
case BATTLEFIELD_WG_NPC_COMMANDER_ZANNETH:
case BATTLEFIELD_WG_NPC_TACTICAL_OFFICER_KILRATH:
case BATTLEFIELD_WG_NPC_TACTICAL_OFFICER_AHBRAMIS:
case BATTLEFIELD_WG_NPC_HORDE_WARBRINGER:
case BATTLEFIELD_WG_NPC_BRIGADIER_GENERAL:
case BATTLEFIELD_WG_NPC_SIEGESMITH_STRONGHOOF:
case BATTLEFIELD_WG_NPC_SIEGE_MASTER_STOUTHANDLE:
case BATTLEFIELD_WG_NPC_PRIMALIST_MULFORT:
case BATTLEFIELD_WG_NPC_ANCHORITE_TESSA:
case BATTLEFIELD_WG_NPC_LIEUTENANT_MURP:
case BATTLEFIELD_WG_NPC_SENIOR_DEMOLITIONIST_LEGOSO:
return true;
}
protected:
bool m_isRelicInteractible;
return false;
}
protected:
bool m_isRelicInteractible;
Workshop WorkshopsList;
Workshop WorkshopsList;
GameObjectSet DefenderPortalList;
GameObjectSet m_KeepGameObject[2];
GameObjectBuilding BuildingsInZone;
GameObjectSet DefenderPortalList;
GameObjectSet m_KeepGameObject[2];
GameObjectBuilding BuildingsInZone;
GuidSet m_vehicles[2];
GuidSet CanonList;
GuidSet KeepCreature[2];
GuidSet OutsideCreature[2];
GuidSet m_updateTenacityList;
GuidSet m_vehicles[2];
GuidSet CanonList;
GuidSet KeepCreature[2];
GuidSet OutsideCreature[2];
GuidSet m_updateTenacityList;
int32 m_tenacityStack;
uint32 m_tenacityUpdateTimer;
uint32 m_saveTimer;
int32 m_tenacityStack;
uint32 m_tenacityUpdateTimer;
uint32 m_saveTimer;
uint64 m_titansRelic;
uint64 m_titansRelic;
};
const uint8 WG_MAX_OBJ = 32;
@@ -593,7 +595,8 @@ struct WintergraspBuildingSpawnData
uint32 destroyText;
};
const WintergraspBuildingSpawnData WGGameObjectBuilding[WG_MAX_OBJ] = {
const WintergraspBuildingSpawnData WGGameObjectBuilding[WG_MAX_OBJ] =
{
// Wall (Not spawned in db)
// Entry WS X Y Z O type NameID
{ 190219, 3749, 5371.46f, 3047.47f, 407.571f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0, 0 },
@@ -640,7 +643,8 @@ const WintergraspBuildingSpawnData WGGameObjectBuilding[WG_MAX_OBJ] = {
{ 191810, 3773, 5397.11f, 2841.54f, 425.899f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_DOOR_LAST, 0, 0 },
};
const Position WGTurret[WG_MAX_TURRET] = {
const Position WGTurret[WG_MAX_TURRET] =
{
{ 5391.19f, 3060.8f, 419.616f, 1.69557f },
{ 5266.75f, 2976.5f, 421.067f, 3.20354f },
{ 5234.86f, 2948.8f, 420.88f, 1.61311f },
@@ -784,7 +788,8 @@ struct WintergraspTowerData
uint8 const WG_MAX_ATTACKTOWERS = 3;
// 192414 : 0 in sql, 1 in header
// 192278 : 0 in sql, 3 in header
const WintergraspTowerData AttackTowers[WG_MAX_ATTACKTOWERS] = {
const WintergraspTowerData AttackTowers[WG_MAX_ATTACKTOWERS] =
{
// West tower
{
190356,
@@ -1072,7 +1077,7 @@ const WGWorkshopData WorkshopsData[WG_MAX_WORKSHOP] =
// Structure for different buildings that can be destroyed during battle
struct BfWGGameObjectBuilding
{
BfWGGameObjectBuilding(BattlefieldWG *WG)
BfWGGameObjectBuilding(BattlefieldWG* WG)
{
m_WG = WG;
m_Team = TEAM_ALLIANCE;
@@ -1088,7 +1093,7 @@ struct BfWGGameObjectBuilding
TeamId m_Team;
// WG object
BattlefieldWG *m_WG;
BattlefieldWG* m_WG;
// Linked gameobject
uint64 m_Build;
@@ -1206,7 +1211,7 @@ struct BfWGGameObjectBuilding
m_WG->BrokenWallOrTower(TeamId(m_Team));
}
void Init(GameObject *gobj, uint32 type, uint32 worldstate, uint8 damageText, uint8 destroyText)
void Init(GameObject* gobj, uint32 type, uint32 worldstate, uint8 damageText, uint8 destroyText)
{
// GameObject associated to object
m_Build = gobj->GetGUID();
@@ -1335,7 +1340,7 @@ struct BfWGGameObjectBuilding
{
Position towerCannonPos;
TowerCannon[towerid].TurretTop[i].GetPosition(&towerCannonPos);
if (Creature *turret = m_WG->SpawnCreature(NPC_WINTERGRASP_TOWER_CANNON, towerCannonPos, TEAM_ALLIANCE))
if (Creature* turret = m_WG->SpawnCreature(NPC_WINTERGRASP_TOWER_CANNON, towerCannonPos, TEAM_ALLIANCE))
{
m_TurretTopList.insert(turret->GetGUID());
m_WG->HideNpc(turret);
@@ -1459,31 +1464,31 @@ struct WGWorkshop
switch (team)
{
case TEAM_NEUTRAL:
{
// Send warning message to all player to inform a faction attack to a workshop
// alliance / horde attacking a workshop
bf->SendWarningToAllInZone(teamControl ? WorkshopsData[workshopId].attackText : (WorkshopsData[workshopId].attackText + 2));
break;
}
{
// Send warning message to all player to inform a faction attack to a workshop
// alliance / horde attacking a workshop
bf->SendWarningToAllInZone(teamControl ? WorkshopsData[workshopId].attackText : (WorkshopsData[workshopId].attackText + 2));
break;
}
case TEAM_ALLIANCE:
case TEAM_HORDE:
{
// Updating worldstate
state = team == TEAM_ALLIANCE ? BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_INTACT : BATTLEFIELD_WG_OBJECTSTATE_HORDE_INTACT;
bf->SendUpdateWorldState(WorkshopsData[workshopId].worldstate, state);
{
// Updating worldstate
state = team == TEAM_ALLIANCE ? BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_INTACT : BATTLEFIELD_WG_OBJECTSTATE_HORDE_INTACT;
bf->SendUpdateWorldState(WorkshopsData[workshopId].worldstate, state);
// Warning message
if (!init) // workshop taken - alliance
bf->SendWarningToAllInZone(team == TEAM_ALLIANCE ? WorkshopsData[workshopId].takenText : (WorkshopsData[workshopId].takenText + 2));
// Warning message
if (!init) // workshop taken - alliance
bf->SendWarningToAllInZone(team == TEAM_ALLIANCE ? WorkshopsData[workshopId].takenText : (WorkshopsData[workshopId].takenText + 2));
// Found associate graveyard and update it
if (workshopId < BATTLEFIELD_WG_WORKSHOP_KEEP_WEST)
if (bf->GetGraveyardById(workshopId))
bf->GetGraveyardById(workshopId)->GiveControlTo(team);
// Found associate graveyard and update it
if (workshopId < BATTLEFIELD_WG_WORKSHOP_KEEP_WEST)
if (bf->GetGraveyardById(workshopId))
bf->GetGraveyardById(workshopId)->GiveControlTo(team);
teamControl = team;
break;
}
teamControl = team;
break;
}
}
if (!init)