106 std::unique_ptr<TolBaradCapturePoint> controlZone = std::make_unique<TolBaradCapturePoint>(
this,
TBCapturePoints[i]);
127 Towers.insert(go->GetGUID());
141 for (
uint8 team = 0; team < 2; team++)
220 if (towersDestroyed > 0)
312 for (
uint8 team = 0; team < 2; ++team)
358 creature->RemoveFromWorld();
363 gameobject->Delete();
399 std::unique_ptr<TolBaradCapturePoint> controlZone = std::make_unique<TolBaradCapturePoint>(
this,
TBCapturePoints[i]);
464 go->ModifyHealth(go->GetGOValue()->Building.MaxHealth);
662 uint32 numCapturedBases = 0;
694 if (player->GetDistance2d(killer) < 40.0f)
709 _worldstateHordeControlled(data.wsControlled[
TEAM_HORDE]), _worldstateAllianceControlled(data.wsControlled[
TEAM_ALLIANCE]),
710 _worldstateHordeCapturing(data.wsCapturing[
TEAM_HORDE]), _worldstateAllianceCapturing(data.wsCapturing[
TEAM_ALLIANCE]),
711 _worldstateNeutral(data.wsNeutral)
void AddSC_BF_tol_barad()
uint8 const TB_BANNER_MAX
TBCapturePointSpawnData const TBCapturePoints[TB_BASE_COUNT]
int8 const TB_ABANDONED_SIEGE_ENGINE_COUNT
TBQuestAreaInfo const TBQuestAreas[CELLBLOCK_MAX]
Position const GuardNPCSpawns[TB_GUARDS_MAX]
TBGraveyardInfo const TBGraveyards[BATTLEFIELD_TB_GRAVEYARD_MAX]
@ NPC_ABANDONED_SIEGE_ENGINE
uint8 const TB_GUARDS_MAX
Position const TBAbandonedSiegeEngineSpawnData[TB_ABANDONED_SIEGE_ENGINE_COUNT]
@ TB_TEXT_PREPARATIONS_IN_1_MIN
@ TB_TEXT_FORTRESS_DEFEND_ALLIANCE
@ TB_TEXT_PREPARATIONS_IN_2_MIN
@ TB_TEXT_PREPARATIONS_IN_5_MIN
@ TB_TEXT_FORTRESS_CAPTURE_ALLIANCE
@ TB_TEXT_FORTRESS_CAPTURE_HORDE
@ TB_TEXT_FORTRESS_DEFEND_HORDE
Position const RandomQuestgiverPos
TBFactionNPCInfo const FactionNPCSpawns[TB_FACTION_NPC_MAX]
uint32 const RandomQuestgivers[PVP_TEAMS_COUNT][CELLBLOCK_MAX]
TBTowerInfo const TBTowers[TB_TOWERS_COUNT]
uint8 const TB_PORTAL_MAX
@ TB_GO_ARTKIT_FLAG_HORDE
@ TB_GO_ARTKIT_FLAG_ALLIANCE
@ EVENT_COUNT_CAPTURED_BASE
uint32 const TBBannerEntry[PVP_TEAMS_COUNT]
Position const TBBanners[TB_BANNER_MAX]
@ SPELL_REWARD_TOWER_DESTROYED
@ SPELL_TOWER_RANGE_FINDER_PERIODIC
@ SPELL_REWARD_TOWER_INTACT
@ SPELL_REWARD_TOWER_DAMAGED
@ SPELL_TOWER_ATTACK_BONUS
@ SPELL_TB_SPIRITUAL_IMMUNITY
@ SPELL_REWARD_VICTORY_ALLIANCE
@ SPELL_THICK_LAYER_OF_RUST
@ SPELL_REWARD_VICTORY_HORDE
Position const TolBaradDebugAnnouncerPos
@ CELLBLOCK_CURSED_DEPTHS
@ GO_DUSTY_PRISON_JOURNAL
@ GO_CRATE_OF_CELLBLOCK_RATIONS
Position const TBQuestInfantrySpawnData[TB_QUEST_INFANTRY_MAX]
Position const TBPortals[TB_PORTAL_MAX]
@ BATTLEFIELD_TB_DATA_TOWERS_INTACT
@ BATTLEFIELD_TB_DATA_MAX
const uint32 TBFactions[PVP_TEAMS_COUNT]
uint8 const TB_QUEST_INFANTRY_MAX
@ BATTLEFIELD_TB_GRAVEYARD_MAX
uint8 const TB_FACTION_NPC_MAX
uint32 const TB_QUEST_INFANTRY[PVP_TEAMS_COUNT][4]
@ GO_TB_INSTANCE_VISUAL_3
@ GO_TB_INSTANCE_VISUAL_4
@ GO_TB_INSTANCE_VISUAL_2
@ GO_TB_INSTANCE_VISUAL_1
@ NPC_TOLBARAD_JAILED_WRATHGUARD
@ NPC_TB_GY_SPIRIT_EAST_SPIRE_H
@ NPC_TB_GY_SPIRIT_IRONCLAD_GARRISON_H
@ NPC_TOLBARAD_EXILED_MAGE
@ NPC_TB_GY_SPIRIT_SOUTH_SPIRE_H
@ NPC_TB_GY_SPIRIT_WARDENS_VIGIL_H
@ NPC_TB_GY_SPIRIT_WEST_SPIRE_H
@ NPC_TOLBARAD_ARCHMAGE_GALUS
@ NPC_TOLBARAD_IMPRISONED_IMP
@ NPC_TOLBARAD_CELL_WATCHER
@ NPC_TB_GY_SPIRIT_BARADIN_HOLD_H
@ NPC_TB_GY_SPIRIT_EAST_SPIRE_A
@ NPC_TOLBARAD_WARDEN_SILVA
@ NPC_TOLBARAD_IMPRISONED_WORKER
@ NPC_TOLBARAD_GHASTLY_CONVICT
@ NPC_TOLBARAD_WARDEN_GUARD
@ NPC_TOLBARAD_CELLBLOCK_OOZE
@ NPC_TB_GY_SPIRIT_SLAGWORKS_H
@ NPC_TB_GY_SPIRIT_SOUTH_SPIRE_A
@ NPC_TB_GY_SPIRIT_SLAGWORKS_A
@ NPC_TOLBARAD_SHIVARRA_DESTROYER
@ NPC_TB_GY_SPIRIT_WARDENS_VIGIL_A
@ NPC_TB_GY_SPIRIT_IRONCLAD_GARRISON_A
@ NPC_TOLBARAD_CAPTIVE_SPIRIT
@ NPC_TB_GY_SPIRIT_BARADIN_HOLD_A
@ NPC_SIEGE_ENGINE_TURRET
@ NPC_TB_GY_SPIRIT_WEST_SPIRE_A
@ BATTLEFIELD_IN_PROGRESS
@ BATTLEFIELD_BATTLEID_TB
uint32 urand(uint32 min, uint32 max)
@ GO_DESTRUCTIBLE_DESTROYED
@ GO_DESTRUCTIBLE_REBUILDING
@ GO_DESTRUCTIBLE_DAMAGED
uint8 constexpr PVP_TEAMS_COUNT
@ WS_BATTLEFIELD_TB_ALLIANCE_ATTACKING_SHOW
@ WS_BATTLEFIELD_TB_VIGIL_HORDE_CONTROLLED
@ WS_BATTLEFIELD_TB_KEEP_ALLIANCE
@ WS_BATTLEFIELD_TB_SLAGWORKS_ALLIANCE_CONTROLLED
@ WS_BATTLEFIELD_TB_ALLIANCE_CONTROLS_SHOW
@ WS_BATTLEFIELD_TB_KEEP_HORDE
@ WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED_SHOW
@ WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED
@ WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE_SHOW
@ WS_BATTLEFIELD_TB_STATE_PREPARATIONS
@ WS_BATTLEFIELD_TB_TIME_BATTLE_END_SHOW
@ WS_BATTLEFIELD_TB_VIGIL_ALLIANCE_CONTROLLED
@ WS_BATTLEFIELD_TB_GARRISON_ALLIANCE_CONTROLLED
@ WS_BATTLEFIELD_TB_FACTION_CONTROLLING
@ WS_BATTLEFIELD_TB_TOWERS_DESTROYED
@ WS_BATTLEFIELD_TB_HORDE_ATTACKING_SHOW
@ WS_BATTLEFIELD_TB_TOWERS_DESTROYED_SHOW
@ WS_BATTLEFIELD_TB_SLAGWORKS_HORDE_CONTROLLED
@ WS_BATTLEFIELD_TB_STATE_BATTLE
@ WS_BATTLEFIELD_TB_GARRISON_HORDE_CONTROLLED
@ WS_BATTLEFIELD_TB_HORDE_CONTROLS_SHOW
@ WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE
@ WS_BATTLEFIELD_TB_TIME_BATTLE_END
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
Battlefield * GetBattlefield()
void OnPlayerLeaveWar(Player *player) override
Called when a player leave the battle.
void RemoveAurasFromPlayer(Player *player)
void OnBattleEnd(bool endByTimer) override
Called at the end of battle.
bool Update(uint32 diff) override
Called every time for update bf data and time.
void ProcessEvent(WorldObject *obj, uint32 eventId, WorldObject *invoker) override
void OnBattleStart() override
Called on start.
void TowerDestroyed(TBTowerId tbTowerId)
void OnPlayerJoinWar(Player *player) override
Called when a player accept to join the battle.
ObjectGuid m_gateCursedDepthsGUID
bool SetupBattlefield() override
Call this to init the Battlefield.
void HandleKill(Player *killer, Unit *victim) override
Called when a Unit is kill in battlefield zone.
void OnStartGrouping() override
Called x minutes before battle start when player in zone are invite to join queue.
GuidSet BattleInactiveNPCs
void OnPlayerEnterZone(Player *player) override
Called when a player enter in battlefield zone.
void OnGameObjectCreate(GameObject *go) override
void OnCreatureCreate(Creature *creature) override
uint32 m_updateObjectsTimer
void UpdateCapturedBaseCount()
ObjectGuid m_gateDBlockGUID
void TowerDamaged(TBTowerId tbTowerId)
bool updatedNPCAndObjects
void OnPlayerLeaveZone(Player *player) override
Called when a player leave battlefield zone.
GuidSet BattleInactiveGOs
void PromotePlayer(Player *killer)
ObjectGuid m_gateToTheHoleGUID
void UpdateNPCsAndGameObjects()
Battlefield * GetBattlefield(Map *map) const override
GameObject * SpawnGameObject(uint32 entry, Position const &pos, QuaternionData const &rot)
void ProcessEvent(WorldObject *target, uint32 eventId, WorldObject *invoker) override
GraveyardVect m_GraveyardList
GameObject * GetGameObject(ObjectGuid guid)
void ShowNpc(Creature *creature, bool aggressive)
Creature * GetCreature(ObjectGuid guid)
std::vector< uint32 > m_Data32
Creature * SpawnCreature(uint32 entry, Position const &pos)
void EndBattle(bool endByTimer)
virtual void SetData(uint32 dataId, uint32 value) override
bool IsWarTime() const
Return true if battle is start, false if battle is not started.
void InitStalker(uint32 entry, Position const &pos)
uint32 m_StartGroupingTimer
virtual bool Update(uint32 diff)
Called every time for update bf data and time.
void RegisterZone(uint32 zoneid)
void SetDefenderTeam(TeamId team)
void SendWarning(uint8 id, WorldObject const *target=nullptr)
uint32 m_TimeForAcceptInvite
BfGraveyard * GetGraveyardById(uint32 id) const
GuidUnorderedSet m_PlayersInWar[PVP_TEAMS_COUNT]
void HideNpc(Creature *creature)
uint32 m_RestartAfterCrash
TeamId GetAttackerTeam() const
TeamId GetDefenderTeam() const
void TeamCastSpell(TeamId team, int32 spellId)
virtual uint32 GetData(uint32 dataId) const override
ControlZoneHandlerMap ControlZoneHandlers
WorldLocation KickPosition
void SetGraveyardNumber(uint32 number)
GuidUnorderedSet m_players[PVP_TEAMS_COUNT]
void SetSpirit(Creature *spirit, TeamId team)
void Initialize(TeamId startcontrol, uint32 gy)
virtual void HandleNeutralEventHorde(GameObject *controlZone)
virtual void HandleProgressEventAlliance(GameObject *controlZone)
virtual void HandleContestedEventAlliance(GameObject *controlZone)
virtual void HandleNeutralEventAlliance(GameObject *controlZone)
virtual void HandleProgressEventHorde(GameObject *controlZone)
virtual void HandleNeutralEvent(GameObject *controlZone)
virtual void HandleContestedEventHorde(GameObject *controlZone)
void SetGoState(GOState state)
void SetRespawnTime(int32 respawn)
void SetGoArtKit(uint32 artkit)
GameObjectDestructibleState GetDestructibleState() const
static GameObject * ToGameObject(Object *o)
static ObjectGuid GetGUID(Object const *o)
void SetPvP(bool state) override
uint32 _worldstateHordeCapturing
uint32 _textIdAllianceLost
uint32 _worldstateHordeControlled
void HandleContestedEventAlliance(GameObject *controlZone) override
void HandleNeutralEventHorde(GameObject *controlZone) override
void HandleContestedEventHorde(GameObject *controlZone) override
void HandleNeutralEvent(GameObject *controlZone) override
void HandleNeutralEventAlliance(GameObject *controlZone) override
void HandleProgressEventAlliance(GameObject *controlZone) override
uint32 _worldstateAllianceCapturing
uint32 _worldstateAllianceControlled
TolBaradCapturePoint(BattlefieldTB *battlefield, TBCapturePointSpawnData const &data)
uint32 _textIdAllianceCaptured
uint32 _textIdHordeCaptured
void HandleProgressEventHorde(GameObject *controlZone) override
void EnterVehicle(Unit *base, int8 seatId=-1)
void SetFaction(uint32 faction) override
Unit * GetVehicleBase() const
Unit * GetCharmerOrOwner() const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
@ CONFIG_TOLBARAD_BATTLETIME
@ CONFIG_TOLBARAD_PLR_MIN_LVL
@ CONFIG_TOLBARAD_RESTART_AFTER_CRASH
@ CONFIG_TOLBARAD_BONUSTIME
@ CONFIG_TOLBARAD_PLR_MAX
@ CONFIG_TOLBARAD_PLR_MIN
@ CONFIG_TOLBARAD_NOBATTLETIME
TC_GAME_API Player * FindPlayer(ObjectGuid const &)
constexpr void Relocate(float x, float y)
static QuaternionData fromEulerAnglesZYX(float Z, float Y, float X)