37 int points = ++team_points[team];
48 for (BattlegroundPlayerMap::const_iterator itr =
GetPlayers().begin(); itr !=
GetPlayers().end(); ++itr)
52 if (player->GetTeamId() == team)
188 if (!
AddObject(
BG_VOP_OBJECT_DOOR_A,
BG_VOP_OBJECT_DOOR_ENTRY, 1783.84f, 1100.66f, 20.60f, 1.625020f, 0, 0, sin(1.625020f / 2), cos(1.625020f / 2),
RESPAWN_IMMEDIATELY)
189 || !
AddObject(
BG_VOP_OBJECT_DOOR_H,
BG_VOP_OBJECT_DOOR_ENTRY, 1780.15f, 1570.22f, 24.59f, 4.711630f, 0, 0, sin(4.711630f / 2), cos(4.711630f / 2),
RESPAWN_IMMEDIATELY))
191 SF_LOG_ERROR(
"battlegrounds",
"BattlegroundVOP: Failed to spawn doors object. Battleground not created!");
198 SF_LOG_ERROR(
"battlegrounds",
"BattlegroundVOP: Failed to spawn spirit guides. Battleground not created!");
203 if (!
AddObject(
BG_VOP_OBJECT_BUFF_NORTH,
Buff_Entries[2], 1856.007935f, 1333.637392f, 10.554197f, 3.147876f, 0, 0, sin(3.147876f / 2), cos(3.147876f / 2),
BUFF_RESPAWN_TIME)
204 || !
AddObject(
BG_VOP_OBJECT_BUFF_SOUTH,
Buff_Entries[2], 1710.443604f, 1333.375000f, 10.554073f, 0.002354f, 0, 0, sin(0.002354f / 2), cos(0.002354f / 2),
BUFF_RESPAWN_TIME))
206 SF_LOG_ERROR(
"battlegrounds",
"BattlegroundVOP: Failed to spawn buff object. Battleground not created!");
210 if (!
AddObject(
BG_VOP_OBJECT_ORB_1,
BG_VOP_OBJECT_ORB_1_ENTRY, 1716.78f, 1416.64f, 13.5709f, 1.57239f, 0, 0, sin(1.57239f / 2), cos(1.57239f / 2),
RESPAWN_ONE_DAY))
212 SF_LOG_ERROR(
"battlegrounds",
"BattlegroundVOP: Failed to spawn ball object. Battleground not created!");
219 if (!
AddObject(
BG_VOP_OBJECT_ORB_2,
BG_VOP_OBJECT_ORB_2_ENTRY, 1850.26f, 1416.77f, 13.5709f, 1.56061f, 0, 0, sin(1.56061f / 2), cos(1.56061f / 2),
RESPAWN_ONE_DAY))
221 SF_LOG_ERROR(
"battlegrounds",
"BattlegroundVOP: Failed to spawn ball object. Battleground not created!");
228 if (!
AddObject(
BG_VOP_OBJECT_ORB_3,
BG_VOP_OBJECT_ORB_3_ENTRY, 1850.29f, 1250.31f, 13.5708f, 4.70848f, 0, 0, sin(4.70848f / 2), cos(4.70848f / 2),
RESPAWN_ONE_DAY))
230 SF_LOG_ERROR(
"battlegrounds",
"BattlegroundVOP: Failed to spawn ball object. Battleground not created!");
237 if (!
AddObject(
BG_VOP_OBJECT_ORB_4,
BG_VOP_OBJECT_ORB_4_ENTRY, 1716.83f, 1249.93f, 13.5706f, 4.71397f, 0, 0, sin(4.71397f / 2), cos(4.71397f / 2),
RESPAWN_ONE_DAY))
239 SF_LOG_ERROR(
"battlegrounds",
"BattlegroundVOP: Failed to spawn ball object. Battleground not created!");
294 int32 message_id = 0;
371 case HORDE: g_id = 3553;
break;
372 default:
return NULL;
380 SF_LOG_ERROR(
"bg.battleground",
"BattlegroundVOP: Not found the main team graveyard. Graveyard system isn't working!");
uint32 const Buff_Entries[3]
@ BG_STARTING_EVENT_THIRD
@ BG_STARTING_EVENT_SECOND
@ BG_STARTING_EVENT_FIRST
@ BG_STARTING_EVENT_FOURTH
const uint32 BG_VOP_TickIntervals[5]
const uint32 BG_VOP_TickPoints[5]
const uint32 BG_VOP_PK_VP
@ BG_VOP_OBJECT_ORB_4_ENTRY
@ BG_VOP_OBJECT_ORB_2_ENTRY
@ BG_VOP_OBJECT_DOOR_ENTRY
@ BG_VOP_OBJECT_ORB_3_ENTRY
@ BG_VOP_OBJECT_ORB_1_ENTRY
@ BG_VOP_OP_RESOURCES_MAX
@ BG_VOP_OBJECT_BUFF_SOUTH
@ BG_VOP_OBJECT_BUFF_NORTH
const uint32 BG_VOP_SOUND_ORB
@ BG_VOP_SPELL_ORB_PICKED_UP_1
@ BG_VOP_SPELL_ORB_PICKED_UP_3
@ BG_VOP_SPELL_ORB_AURA_1
@ BG_VOP_SPELL_ORB_PICKED_UP_4
@ BG_VOP_SPELL_ORB_AURA_4
@ BG_VOP_SPELL_ORB_AURA_2
@ BG_VOP_SPELL_ORB_AURA_3
@ BG_VOP_SPELL_ORB_PICKED_UP_2
#define BG_VOP_MAX_TEAM_SCORE
@ BG_VOP_CREATURE_SPIRIT_2
@ BG_VOP_CREATURE_ORB_AURA_1
@ BG_VOP_CREATURE_ORB_AURA_4
@ BG_VOP_CREATURE_SPIRIT_1
@ BG_VOP_CREATURE_ORB_AURA_2
@ BG_VOP_CREATURE_ORB_AURA_3
DBCStorage< WorldSafeLocsEntry > sWorldSafeLocsStore(WorldSafeLocsEntryfmt)
@ LANG_BG_VOP_START_HALF_MINUTE
@ LANG_BG_VOP_DROPPED_ORANGE
@ LANG_BG_VOP_DROPPED_BLUE
@ LANG_BG_VOP_START_ONE_MINUTE
@ LANG_BG_VOP_DROPPED_GREEN
@ LANG_BG_VOP_DROPPED_PURPLE
@ LANG_BG_VOP_START_TWO_MINUTES
#define SF_LOG_ERROR(filterType__,...)
@ CHAT_MSG_RAID_BOSS_EMOTE
virtual void AddPlayer(Player *player)
void EndBattleground(uint32 winner)
virtual void HandleKillPlayer(Player *player, Player *killer)
void DoorOpen(uint32 type)
void SpawnBGObject(uint32 type, uint32 respawntime)
void PlaySoundToAll(uint32 SoundID)
void DoorClose(uint32 type)
void UpdateWorldState(uint32 Field, uint32 Value)
BattlegroundPlayerMap const & GetPlayers() const
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
uint32 GetTeamScore(uint32 TeamID) const
uint32 GetBonusHonorFromKill(uint32 kills) const
virtual void UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true)
Creature * AddCreature(uint32 entry, uint32 type, uint32 teamval, float x, float y, float z, float o, uint32 respawntime=0)
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]
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
void HandleKillPlayer(Player *player, Player *killer) OVERRIDE
void AddPlayer(Player *player) OVERRIDE
void EndBattleground(uint32 winner)
void UpdateTeamScore(uint32 Team)
void RemovePlayer(Player *player, uint64 guid, uint32 team) OVERRIDE
void EventPlayerClickedOnFlag(Player *Source, GameObject *target_obj) OVERRIDE
WorldSafeLocsEntry const * GetClosestGraveYard(Player *player) OVERRIDE
uint32 m_lastTick[BG_TEAMS_COUNT]
uint32 m_HonorScoreTics[BG_TEAMS_COUNT]
void StartingEventOpenDoors() OVERRIDE
void PostUpdateImpl(uint32 diff) OVERRIDE
Post-update hook.
uint32 GetPrematureWinner() OVERRIDE
bool m_TeamScores500Disadvantage[BG_TEAMS_COUNT]
void StartingEventCloseDoors() OVERRIDE
void UpdatePlayerScore(Player *Source, uint32 type, uint32 value, bool doAddHonor=true) OVERRIDE
bool SetupBattleground() OVERRIDE
static Player * FindPlayer(uint64)
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)
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
void AppendState(uint32 worldstate, uint32 value)