242 SF_LOG_DEBUG(
"bg.battleground",
"Respawn Alliance flag");
492 int32 message_id = 0;
624 SF_LOG_ERROR(
"bg.battleground",
"BattlegroundTP: Removing offline player who has the FLAG!!");
635 SF_LOG_ERROR(
"bg.battleground",
"BattlegroundTP: Removing offline player who has the FLAG!!");
708 if (!
AddObject(
BG_TP_OBJECT_A_FLAG,
BG_OBJECT_A_FLAG_TP_ENTRY, 2118.210f, 191.621f, 44.052f, 5.741259f, 0, 0, 0.9996573f, 0.02617699f,
BG_TP_FLAG_RESPAWN_TIME / 1000)
709 || !
AddObject(
BG_TP_OBJECT_H_FLAG,
BG_OBJECT_H_FLAG_TP_ENTRY, 1578.380f, 344.037f, 2.419f, 3.055978f, 0, 0, 0.008726535f, 0.9999619f,
BG_TP_FLAG_RESPAWN_TIME / 1000)
711 || !
AddObject(
BG_TP_OBJECT_SPEEDBUFF_1,
BG_OBJECTID_SPEEDBUFF_ENTRY, 1545.402f, 304.028f, 0.5923f, -1.64061f, 0, 0, 0.7313537f, -0.6819983f,
BUFF_RESPAWN_TIME)
712 || !
AddObject(
BG_TP_OBJECT_SPEEDBUFF_2,
BG_OBJECTID_SPEEDBUFF_ENTRY, 2171.279f, 222.334f, 43.8001f, 2.663309f, 0, 0, 0.7313537f, 0.6819984f,
BUFF_RESPAWN_TIME)
713 || !
AddObject(
BG_TP_OBJECT_REGENBUFF_1,
BG_OBJECTID_REGENBUFF_ENTRY, 1753.957f, 242.092f, -14.1170f, 1.105848f, 0, 0, 0.1305263f, -0.9914448f,
BUFF_RESPAWN_TIME)
714 || !
AddObject(
BG_TP_OBJECT_REGENBUFF_2,
BG_OBJECTID_REGENBUFF_ENTRY, 1952.121f, 383.857f, -10.2870f, 4.192612f, 0, 0, 0.333807f, -0.9426414f,
BUFF_RESPAWN_TIME)
715 || !
AddObject(
BG_TP_OBJECT_BERSERKBUFF_1,
BG_OBJECTID_BERSERKERBUFF_ENTRY, 1934.369f, 226.064f, -17.0441f, 2.499154f, 0, 0, 0.5591929f, 0.8290376f,
BUFF_RESPAWN_TIME)
716 || !
AddObject(
BG_TP_OBJECT_BERSERKBUFF_2,
BG_OBJECTID_BERSERKERBUFF_ENTRY, 1725.240f, 446.431f, -7.8327f, 5.709677f, 0, 0, 0.9396926f, -0.3420201f,
BUFF_RESPAWN_TIME)
718 || !
AddObject(
BG_TP_OBJECT_DOOR_A_1,
BG_OBJECT_DOOR_A_1_TP_ENTRY, 2115.399f, 150.175f, 43.526f, 2.544690f, 0, 0, 0, 0,
RESPAWN_IMMEDIATELY)
719 || !
AddObject(
BG_TP_OBJECT_DOOR_A_2,
BG_OBJECT_DOOR_A_2_TP_ENTRY, 2156.803f, 220.331f, 43.482f, 2.544690f, 0, 0, 0, 0,
RESPAWN_IMMEDIATELY)
720 || !
AddObject(
BG_TP_OBJECT_DOOR_A_3,
BG_OBJECT_DOOR_A_3_TP_ENTRY, 2127.512f, 223.711f, 43.640f, 2.544690f, 0, 0, 0, 0,
RESPAWN_IMMEDIATELY)
721 || !
AddObject(
BG_TP_OBJECT_DOOR_A_4,
BG_OBJECT_DOOR_A_4_TP_ENTRY, 2096.102f, 166.920f, 54.230f, 2.544690f, 0, 0, 0, 0,
RESPAWN_IMMEDIATELY)
723 || !
AddObject(
BG_TP_OBJECT_DOOR_H_1,
BG_OBJECT_DOOR_H_1_TP_ENTRY, 1556.595f, 314.502f, 1.2230f, 6.179126f, 0, 0, 0, 0,
RESPAWN_IMMEDIATELY)
724 || !
AddObject(
BG_TP_OBJECT_DOOR_H_2,
BG_OBJECT_DOOR_H_2_TP_ENTRY, 1587.093f, 319.853f, 1.5233f, 6.179126f, 0, 0, 0, 0,
RESPAWN_IMMEDIATELY)
725 || !
AddObject(
BG_TP_OBJECT_DOOR_H_3,
BG_OBJECT_DOOR_H_3_TP_ENTRY, 1591.463f, 365.732f, 13.494f, 6.179126f, 0, 0, 0, 0,
RESPAWN_IMMEDIATELY)
726 || !
AddObject(
BG_TP_OBJECT_DOOR_H_4,
BG_OBJECT_DOOR_H_4_TP_ENTRY, 1558.315f, 372.709f, 1.4840f, 6.179126f, 0, 0, 0, 0,
RESPAWN_IMMEDIATELY)
729 SF_LOG_ERROR(
"sql.sql",
"BatteGroundTP: Failed to spawn some objects Battleground not created!");
737 SF_LOG_ERROR(
"sql.sql",
"BatteGroundTP: Failed to spawn Alliance spirit guides! Battleground not created!");
745 SF_LOG_ERROR(
"sql.sql",
"BatteGroundTP: Failed to spawn Alliance start spirit guides! Battleground not created!");
753 SF_LOG_ERROR(
"sql.sql",
"BatteGroundTP: Failed to spawn Horde spirit guides! Battleground not created!");
759 SF_LOG_ERROR(
"sql.sql",
"BatteGroundTP: Failed to spawn Horde start spirit guide! Battleground not created!");
764 SF_LOG_DEBUG(
"bg.battleground",
"BatteGroundTP: BG objects and spirit guides spawned");
@ BG_OBJECTID_REGENBUFF_ENTRY
@ BG_OBJECTID_BERSERKERBUFF_ENTRY
@ BG_OBJECTID_SPEEDBUFF_ENTRY
@ SPELL_RECENTLY_DROPPED_FLAG
@ BG_STARTING_EVENT_THIRD
@ BG_STARTING_EVENT_SECOND
@ BG_STARTING_EVENT_FIRST
@ BG_STARTING_EVENT_FOURTH
uint32 BG_TP_Honor[BG_HONOR_MODE_NUM][BG_TP_REWARD_NUM]
uint32 BG_TP_Reputation[BG_HONOR_MODE_NUM][BG_TP_REWARD_NUM]
@ BG_TP_FLAG_RESPAWN_TIME
@ TP_SPELL_FOCUSED_ASSAULT
@ TP_SPELL_BRUTAL_ASSAULT
@ BG_TP_SOUND_ALLIANCE_FLAG_PICKED_UP
@ BG_TP_SOUND_FLAG_CAPTURED_HORDE
@ BG_TP_SOUND_HORDE_FLAG_PICKED_UP
@ BG_TP_SOUND_FLAG_CAPTURED_ALLIANCE
@ BG_TP_SOUND_FLAGS_RESPAWNED
@ BG_TP_SOUND_FLAG_RETURNED
@ TP_OBJECTIVE_RETURN_FLAG
@ TP_OBJECTIVE_CAPTURE_FLAG
@ BG_TP_STATE_TIMER_ACTIVE
@ BG_TP_FLAG_CAPTURES_MAX
@ BG_TP_FLAG_STATE_ALLIANCE
@ BG_TP_FLAG_CAPTURES_HORDE
@ BG_TP_FLAG_CAPTURES_ALLIANCE
@ BG_TP_FLAG_UNK_ALLIANCE
@ BG_OBJECT_DOOR_H_4_TP_ENTRY
@ BG_OBJECT_DOOR_A_3_TP_ENTRY
@ BG_OBJECT_DOOR_H_2_TP_ENTRY
@ BG_OBJECT_H_FLAG_GROUND_TP_ENTRY
@ BG_OBJECT_DOOR_H_1_TP_ENTRY
@ BG_OBJECT_DOOR_A_1_TP_ENTRY
@ BG_OBJECT_DOOR_A_2_TP_ENTRY
@ BG_OBJECT_H_FLAG_TP_ENTRY
@ BG_OBJECT_A_FLAG_GROUND_TP_ENTRY
@ BG_OBJECT_DOOR_H_3_TP_ENTRY
@ BG_OBJECT_DOOR_A_4_TP_ENTRY
@ BG_OBJECT_A_FLAG_TP_ENTRY
@ BG_TP_SPELL_ALLIANCE_FLAG
@ BG_TP_SPELL_HORDE_FLAG_DROPPED
@ BG_TP_SPELL_ALLIANCE_FLAG_PICKED
@ BG_TP_SPELL_HORDE_FLAG_PICKED
@ BG_TP_SPELL_ALLIANCE_FLAG_DROPPED
@ BG_TP_FLAG_STATE_ON_GROUND
@ BG_TP_FLAG_STATE_WAIT_RESPAWN
@ BG_TP_FLAG_STATE_ON_PLAYER
@ BG_TP_FLAG_STATE_ON_BASE
@ BG_TP_OBJECT_SPEEDBUFF_2
@ BG_TP_OBJECT_SPEEDBUFF_1
@ BG_TP_OBJECT_REGENBUFF_1
@ BG_TP_OBJECT_BERSERKBUFF_1
@ BG_TP_OBJECT_BERSERKBUFF_2
@ BG_TP_OBJECT_REGENBUFF_2
@ TP_GRAVEYARD_MIDDLE_ALLIANCE
@ TP_GRAVEYARD_START_ALLIANCE
@ TP_GRAVEYARD_START_HORDE
@ TP_GRAVEYARD_FLAGROOM_ALLIANCE
@ TP_GRAVEYARD_MIDDLE_HORDE
@ TP_GRAVEYARD_FLAGROOM_HORDE
@ ACHIEVEMENT_TIMED_TYPE_SPELL_TARGET
@ ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE
DBCStorage< WorldSafeLocsEntry > sWorldSafeLocsStore(WorldSafeLocsEntryfmt)
@ LANG_BG_TP_HORDE_FLAG_RESPAWNED
@ LANG_BG_TP_START_ONE_MINUTE
@ LANG_BG_TP_START_HALF_MINUTE
@ LANG_BG_TP_START_TWO_MINUTES
@ LANG_BG_TP_ALLIANCE_FLAG_RESPAWNED
#define SF_LOG_DEBUG(filterType__,...)
#define SF_LOG_ERROR(filterType__,...)
uint32 GUID_LOPART(uint64 x)
@ CHAT_MSG_BG_SYSTEM_ALLIANCE
@ CHAT_MSG_BG_SYSTEM_NEUTRAL
@ CHAT_MSG_BG_SYSTEM_HORDE
@ AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT
virtual void AddPlayer(Player *player)
BattlegroundTypeId GetTypeID(bool GetRandom=false) const
void EndBattleground(uint32 winner)
virtual void HandleKillPlayer(Player *player, Player *killer)
static TeamId GetTeamIndexByTeamId(uint32 Team)
void DoorOpen(uint32 type)
void SpawnBGObject(uint32 type, uint32 respawntime)
void PlaySoundToAll(uint32 SoundID)
BattlegroundMap * GetBgMap() const
void DoorClose(uint32 type)
void UpdateWorldState(uint32 Field, uint32 Value)
BattlegroundScoreMap PlayerScores
void RewardHonorToTeam(uint32 Honor, uint32 TeamID)
bool AddSpiritGuide(uint32 type, float x, float y, float z, float o, uint32 team)
BattlegroundStatus GetStatus() const
virtual void HandleAreaTrigger(Player *, uint32)
uint32 GetTeamScore(uint32 TeamID) const
uint32 GetBonusHonorFromKill(uint32 kills) const
void RewardReputationToTeam(uint32 faction_id, uint32 Reputation, uint32 TeamID)
virtual void UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true)
uint32 GetElapsedTime() const
void SendMessageToAll(int32 entry, ChatMsg type, Player const *source=NULL)
int32 m_TeamScores[BG_TEAMS_COUNT]
bool AddObject(uint32 type, uint32 entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime=0)
virtual uint32 GetPrematureWinner()
uint32 StartMessageIds[BG_STARTING_EVENT_COUNT]
int32 _flagSpellForceTimer
void AddPlayer(Player *player) OVERRIDE
uint32 m_ReputationCapture
void SetDroppedFlagGUID(uint64 guid, int32 team=-1) OVERRIDE
void RespawnFlagAfterDrop(uint32 Team)
uint64 GetFlagPickerGUID(int32 team) const OVERRIDE
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
void SetLastFlagCapture(uint32 team)
void EventPlayerDroppedFlag(Player *Source) OVERRIDE
void SetHordeFlagPicker(uint64 guid)
void HandleKillPlayer(Player *player, Player *killer) OVERRIDE
void RemovePlayer(Player *player, uint64 guid, uint32 team) OVERRIDE
void PostUpdateImpl(uint32 diff) OVERRIDE
Post-update hook.
bool IsAllianceFlagPickedup() const
uint32 _lastFlagCaptureTeam
void AddPoint(uint32 TeamID, uint32 Points=1)
void UpdatePlayerScore(Player *Source, uint32 type, uint32 value, bool doAddHonor=true) OVERRIDE
void StartingEventCloseDoors() OVERRIDE
uint8 GetFlagState(uint32 team) const
void RespawnFlag(uint32 Team, bool captured)
uint32 GetPrematureWinner() OVERRIDE
void EndBattleground(uint32 winner)
bool SetupBattleground() OVERRIDE
void SetAllianceFlagPicker(uint64 guid)
void StartingEventOpenDoors() OVERRIDE
bool IsHordeFlagPickedup() const
uint64 m_DroppedFlagGUID[2]
void UpdateTeamScore(uint32 team)
void EventPlayerCapturedFlag(Player *Source)
void UpdateFlagState(uint32 team, uint32 value)
WorldSafeLocsEntry const * GetClosestGraveYard(Player *player) OVERRIDE
void EventPlayerClickedOnFlag(Player *Source, GameObject *target_obj) OVERRIDE
void HandleAreaTrigger(Player *Source, uint32 Trigger) OVERRIDE
uint64 GetDroppedFlagGUID(uint32 TeamID) const
GameObjectTemplate const * GetGOInfo() const
static Player * FindPlayer(uint64)
void StartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry, uint32 timeLost=0)
void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint64 miscValue1=0, uint64 miscValue2=0, uint64 miscValue3=0, Unit *unit=NULL)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void RemoveAurasWithInterruptFlags(uint32 flag, uint32 except=0)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true) const
void AppendState(uint32 worldstate, uint32 value)