2 * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef __BATTLEGROUNDEY_H
20 #define __BATTLEGROUNDEY_H
26 #define EY_MAX_TEAM_SCORE 2000
27 #define BG_EY_FLAG_RESPAWN_TIME (10*IN_MILISECONDS) //10 seconds
28 #define BG_EY_FPOINTS_TICK_TIME (2*IN_MILISECONDS) //2 seconds
30 enum BG_EY_WorldStates
32 EY_ALLIANCE_RESOURCES
= 2749,
33 EY_HORDE_RESOURCES
= 2750,
34 EY_ALLIANCE_BASE
= 2752,
36 DRAENEI_RUINS_HORDE_CONTROL
= 2733,
37 DRAENEI_RUINS_ALLIANCE_CONTROL
= 2732,
38 DRAENEI_RUINS_UNCONTROL
= 2731,
39 MAGE_TOWER_ALLIANCE_CONTROL
= 2730,
40 MAGE_TOWER_HORDE_CONTROL
= 2729,
41 MAGE_TOWER_UNCONTROL
= 2728,
42 FEL_REAVER_HORDE_CONTROL
= 2727,
43 FEL_REAVER_ALLIANCE_CONTROL
= 2726,
44 FEL_REAVER_UNCONTROL
= 2725,
45 BLOOD_ELF_HORDE_CONTROL
= 2724,
46 BLOOD_ELF_ALLIANCE_CONTROL
= 2723,
47 BLOOD_ELF_UNCONTROL
= 2722,
48 PROGRESS_BAR_PERCENT_GREY
= 2720, //100 = empty (only grey), 0 = blue|red (no grey)
49 PROGRESS_BAR_STATUS
= 2719, //50 init!, 48 ... hordak bere .. 33 .. 0 = full 100% hordacky , 100 = full alliance
50 PROGRESS_BAR_SHOW
= 2718, //1 init, 0 druhy send - bez messagu, 1 = controlled aliance
51 NETHERSTORM_FLAG
= 2757,
52 //set to 2 when flag is picked up, and to 1 if it is dropped
53 NETHERSTORM_FLAG_STATE_ALLIANCE
= 2769,
54 NETHERSTORM_FLAG_STATE_HORDE
= 2770
57 enum BG_EY_ProgressBarConsts
59 BG_EY_POINT_MAX_CAPTURERS_COUNT
= 5,
60 BG_EY_POINT_RADIUS
= 70,
61 BG_EY_PROGRESS_BAR_DONT_SHOW
= 0,
62 BG_EY_PROGRESS_BAR_SHOW
= 1,
63 BG_EY_PROGRESS_BAR_PERCENT_GREY
= 40,
64 BG_EY_PROGRESS_BAR_STATE_MIDDLE
= 50,
65 BG_EY_PROGRESS_BAR_HORDE_CONTROLLED
= 0,
66 BG_EY_PROGRESS_BAR_NEUTRAL_LOW
= 30,
67 BG_EY_PROGRESS_BAR_NEUTRAL_HIGH
= 70,
68 BG_EY_PROGRESS_BAR_ALI_CONTROLLED
= 100
73 //strange ids, but sure about them
74 BG_EY_SOUND_FLAG_PICKED_UP_ALLIANCE
= 8212,
75 BG_EY_SOUND_FLAG_CAPTURED_HORDE
= 8213,
76 BG_EY_SOUND_FLAG_PICKED_UP_HORDE
= 8174,
77 BG_EY_SOUND_FLAG_CAPTURED_ALLIANCE
= 8173,
78 BG_EY_SOUND_FLAG_RESET
= 8192
83 BG_EY_NETHERSTORM_FLAG_SPELL
= 34976,
84 BG_EY_PLAYER_DROPPED_FLAG_SPELL
= 34991
87 enum EYBattleGroundObjectEntry
89 BG_OBJECT_A_DOOR_EY_ENTRY
= 184719, //Alliance door
90 BG_OBJECT_H_DOOR_EY_ENTRY
= 184720, //Horde door
91 BG_OBJECT_FLAG1_EY_ENTRY
= 184493, //Netherstorm flag (generic)
92 BG_OBJECT_FLAG2_EY_ENTRY
= 184141, //Netherstorm flag (flagstand)
93 BG_OBJECT_FLAG3_EY_ENTRY
= 184142, //Netherstorm flag (flagdrop)
94 BG_OBJECT_A_BANNER_EY_ENTRY
= 184381, //Visual Banner (Alliance)
95 BG_OBJECT_H_BANNER_EY_ENTRY
= 184380, //Visual Banner (Horde)
96 BG_OBJECT_N_BANNER_EY_ENTRY
= 184382, //Visual Banner (Neutral)
97 BG_OBJECT_BE_TOWER_CAP_EY_ENTRY
= 184080, //BE Tower Cap Pt
98 BG_OBJECT_FR_TOWER_CAP_EY_ENTRY
= 184081, //Fel Reaver Cap Pt
99 BG_OBJECT_HU_TOWER_CAP_EY_ENTRY
= 184082, //Human Tower Cap Pt
100 BG_OBJECT_DR_TOWER_CAP_EY_ENTRY
= 184083 //Draenei Tower Cap Pt
103 enum EYBattleGroundPointsTrigger
105 TR_BLOOD_ELF_POINT
= 4476,
106 TR_FEL_REALVER_POINT
= 4514,
107 TR_MAGE_TOWER_POINT
= 4516,
108 TR_DRAENEI_RUINS_POINT
= 4518,
109 TR_BLOOD_ELF_BUFF
= 4568,
110 TR_FEL_REALVER_BUFF
= 4569,
111 TR_MAGE_TOWER_BUFF
= 4570,
112 TR_DRAENEI_RUINS_BUFF
= 4571
115 enum EYBattleGroundGaveyards
117 EY_GRAVEYARD_MAIN_ALLIANCE
= 1103,
118 EY_GRAVEYARD_MAIN_HORDE
= 1104,
119 EY_GRAVEYARD_FEL_REALVER
= 1105,
120 EY_GRAVEYARD_BLOOD_ELF
= 1106,
121 EY_GRAVEYARD_DRAENEI_RUINS
= 1107,
122 EY_GRAVEYARD_MAGE_TOWER
= 1108
125 enum EYBattleGroundPoints
132 EY_PLAYERS_OUT_OF_POINTS
= 4,
136 enum EYBattleGroundCreaturesTypes
138 EY_SPIRIT_FEL_REALVER
= 0,
139 EY_SPIRIT_BLOOD_ELF
= 1,
140 EY_SPIRIT_DRAENEI_RUINS
= 2,
141 EY_SPIRIT_MAGE_TOWER
= 3,
142 EY_SPIRIT_MAIN_ALLIANCE
= 4,
143 EY_SPIRIT_MAIN_HORDE
= 5,
145 BG_EY_CREATURES_MAX
= 6
148 enum EYBattleGroundObjectTypes
150 BG_EY_OBJECT_DOOR_A
= 0,
151 BG_EY_OBJECT_DOOR_H
= 1,
152 BG_EY_OBJECT_A_BANNER_FEL_REALVER_CENTER
= 2,
153 BG_EY_OBJECT_A_BANNER_FEL_REALVER_LEFT
= 3,
154 BG_EY_OBJECT_A_BANNER_FEL_REALVER_RIGHT
= 4,
155 BG_EY_OBJECT_A_BANNER_BLOOD_ELF_CENTER
= 5,
156 BG_EY_OBJECT_A_BANNER_BLOOD_ELF_LEFT
= 6,
157 BG_EY_OBJECT_A_BANNER_BLOOD_ELF_RIGHT
= 7,
158 BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_CENTER
= 8,
159 BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_LEFT
= 9,
160 BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_RIGHT
= 10,
161 BG_EY_OBJECT_A_BANNER_MAGE_TOWER_CENTER
= 11,
162 BG_EY_OBJECT_A_BANNER_MAGE_TOWER_LEFT
= 12,
163 BG_EY_OBJECT_A_BANNER_MAGE_TOWER_RIGHT
= 13,
164 BG_EY_OBJECT_H_BANNER_FEL_REALVER_CENTER
= 14,
165 BG_EY_OBJECT_H_BANNER_FEL_REALVER_LEFT
= 15,
166 BG_EY_OBJECT_H_BANNER_FEL_REALVER_RIGHT
= 16,
167 BG_EY_OBJECT_H_BANNER_BLOOD_ELF_CENTER
= 17,
168 BG_EY_OBJECT_H_BANNER_BLOOD_ELF_LEFT
= 18,
169 BG_EY_OBJECT_H_BANNER_BLOOD_ELF_RIGHT
= 19,
170 BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_CENTER
= 20,
171 BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_LEFT
= 21,
172 BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_RIGHT
= 22,
173 BG_EY_OBJECT_H_BANNER_MAGE_TOWER_CENTER
= 23,
174 BG_EY_OBJECT_H_BANNER_MAGE_TOWER_LEFT
= 24,
175 BG_EY_OBJECT_H_BANNER_MAGE_TOWER_RIGHT
= 25,
176 BG_EY_OBJECT_N_BANNER_FEL_REALVER_CENTER
= 26,
177 BG_EY_OBJECT_N_BANNER_FEL_REALVER_LEFT
= 27,
178 BG_EY_OBJECT_N_BANNER_FEL_REALVER_RIGHT
= 28,
179 BG_EY_OBJECT_N_BANNER_BLOOD_ELF_CENTER
= 29,
180 BG_EY_OBJECT_N_BANNER_BLOOD_ELF_LEFT
= 30,
181 BG_EY_OBJECT_N_BANNER_BLOOD_ELF_RIGHT
= 31,
182 BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_CENTER
= 32,
183 BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_LEFT
= 33,
184 BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_RIGHT
= 34,
185 BG_EY_OBJECT_N_BANNER_MAGE_TOWER_CENTER
= 35,
186 BG_EY_OBJECT_N_BANNER_MAGE_TOWER_LEFT
= 36,
187 BG_EY_OBJECT_N_BANNER_MAGE_TOWER_RIGHT
= 37,
188 BG_EY_OBJECT_TOWER_CAP_FEL_REALVER
= 38,
189 BG_EY_OBJECT_TOWER_CAP_BLOOD_ELF
= 39,
190 BG_EY_OBJECT_TOWER_CAP_DRAENEI_RUINS
= 40,
191 BG_EY_OBJECT_TOWER_CAP_MAGE_TOWER
= 41,
192 BG_EY_OBJECT_FLAG_NETHERSTORM
= 42,
193 BG_EY_OBJECT_FLAG_FEL_REALVER
= 43,
194 BG_EY_OBJECT_FLAG_BLOOD_ELF
= 44,
195 BG_EY_OBJECT_FLAG_DRAENEI_RUINS
= 45,
196 BG_EY_OBJECT_FLAG_MAGE_TOWER
= 46,
198 BG_EY_OBJECT_SPEEDBUFF_FEL_REALVER
= 47,
199 BG_EY_OBJECT_REGENBUFF_FEL_REALVER
= 48,
200 BG_EY_OBJECT_BERSERKBUFF_FEL_REALVER
= 49,
201 BG_EY_OBJECT_SPEEDBUFF_BLOOD_ELF
= 50,
202 BG_EY_OBJECT_REGENBUFF_BLOOD_ELF
= 51,
203 BG_EY_OBJECT_BERSERKBUFF_BLOOD_ELF
= 52,
204 BG_EY_OBJECT_SPEEDBUFF_DRAENEI_RUINS
= 53,
205 BG_EY_OBJECT_REGENBUFF_DRAENEI_RUINS
= 54,
206 BG_EY_OBJECT_BERSERKBUFF_DRAENEI_RUINS
= 55,
207 BG_EY_OBJECT_SPEEDBUFF_MAGE_TOWER
= 56,
208 BG_EY_OBJECT_REGENBUFF_MAGE_TOWER
= 57,
209 BG_EY_OBJECT_BERSERKBUFF_MAGE_TOWER
= 58,
210 BG_EY_OBJECT_MAX
= 59
213 #define BG_EY_NotEYWeekendHonorTicks 330
214 #define BG_EY_EYWeekendHonorTicks 200
218 BG_EY_FLAG_STATE_ON_BASE
= 0,
219 BG_EY_FLAG_STATE_WAIT_RESPAWN
= 1,
220 BG_EY_FLAG_STATE_ON_PLAYER
= 2,
221 BG_EY_FLAG_STATE_ON_GROUND
= 3
224 enum EYBattleGroundPointState
226 EY_POINT_NO_OWNER
= 0,
227 EY_POINT_STATE_UNCONTROLLED
= 0,
228 EY_POINT_UNDER_CONTROL
= 3
231 struct BattleGroundEYPointIconsStruct
233 BattleGroundEYPointIconsStruct(uint32 _WorldStateControlIndex
, uint32 _WorldStateAllianceControlledIndex
, uint32 _WorldStateHordeControlledIndex
)
234 : WorldStateControlIndex(_WorldStateControlIndex
), WorldStateAllianceControlledIndex(_WorldStateAllianceControlledIndex
), WorldStateHordeControlledIndex(_WorldStateHordeControlledIndex
) {}
235 uint32 WorldStateControlIndex
;
236 uint32 WorldStateAllianceControlledIndex
;
237 uint32 WorldStateHordeControlledIndex
;
240 struct BattleGroundEYLoosingPointStruct
242 BattleGroundEYLoosingPointStruct(uint32 _SpawnNeutralObjectType
, uint32 _DespawnObjectTypeAlliance
, uint32 _MessageIdAlliance
, uint32 _DespawnObjectTypeHorde
, uint32 _MessageIdHorde
)
243 : SpawnNeutralObjectType(_SpawnNeutralObjectType
), DespawnObjectTypeAlliance(_DespawnObjectTypeAlliance
), MessageIdAlliance(_MessageIdAlliance
), DespawnObjectTypeHorde(_DespawnObjectTypeHorde
), MessageIdHorde(_MessageIdHorde
) {}
244 uint32 SpawnNeutralObjectType
;
245 uint32 DespawnObjectTypeAlliance
;
246 uint32 DespawnObjectTypeHorde
;
247 uint32 MessageIdHorde
;
248 uint32 MessageIdAlliance
;
251 struct BattleGroundEYCapturingPointStruct
253 BattleGroundEYCapturingPointStruct(uint32 _DespawnNeutralObjectType
, uint32 _SpawnObjectTypeAlliance
, uint32 _MessageIdAlliance
, uint32 _SpawnObjectTypeHorde
, uint32 _MessageIdHorde
, uint32 _GraveYardId
)
254 : DespawnNeutralObjectType(_DespawnNeutralObjectType
), SpawnObjectTypeAlliance(_SpawnObjectTypeAlliance
), MessageIdAlliance(_MessageIdAlliance
), SpawnObjectTypeHorde(_SpawnObjectTypeHorde
), MessageIdHorde(_MessageIdHorde
), GraveYardId(_GraveYardId
) {}
255 uint32 DespawnNeutralObjectType
;
256 uint32 SpawnObjectTypeAlliance
;
257 uint32 SpawnObjectTypeHorde
;
258 uint32 MessageIdHorde
;
259 uint32 MessageIdAlliance
;
263 const uint8 BG_EY_TickPoints
[EY_POINTS_MAX
] = {1, 2, 5, 10};
264 const uint32 BG_EY_FlagPoints
[EY_POINTS_MAX
] = {75, 85, 100, 500};
267 const BattleGroundEYPointIconsStruct m_PointsIconStruct
[EY_POINTS_MAX
] =
269 BattleGroundEYPointIconsStruct(FEL_REAVER_UNCONTROL
, FEL_REAVER_ALLIANCE_CONTROL
, FEL_REAVER_HORDE_CONTROL
),
270 BattleGroundEYPointIconsStruct(BLOOD_ELF_UNCONTROL
, BLOOD_ELF_ALLIANCE_CONTROL
, BLOOD_ELF_HORDE_CONTROL
),
271 BattleGroundEYPointIconsStruct(DRAENEI_RUINS_UNCONTROL
, DRAENEI_RUINS_ALLIANCE_CONTROL
, DRAENEI_RUINS_HORDE_CONTROL
),
272 BattleGroundEYPointIconsStruct(MAGE_TOWER_UNCONTROL
, MAGE_TOWER_ALLIANCE_CONTROL
, MAGE_TOWER_HORDE_CONTROL
)
274 const BattleGroundEYLoosingPointStruct m_LoosingPointTypes
[EY_POINTS_MAX
] =
276 BattleGroundEYLoosingPointStruct(BG_EY_OBJECT_N_BANNER_FEL_REALVER_CENTER
, BG_EY_OBJECT_A_BANNER_FEL_REALVER_CENTER
, LANG_BG_EY_HAS_LOST_A_F_RUINS
, BG_EY_OBJECT_H_BANNER_FEL_REALVER_CENTER
, LANG_BG_EY_HAS_LOST_H_F_RUINS
),
277 BattleGroundEYLoosingPointStruct(BG_EY_OBJECT_N_BANNER_BLOOD_ELF_CENTER
, BG_EY_OBJECT_A_BANNER_BLOOD_ELF_CENTER
, LANG_BG_EY_HAS_LOST_A_B_TOWER
, BG_EY_OBJECT_H_BANNER_BLOOD_ELF_CENTER
, LANG_BG_EY_HAS_LOST_H_B_TOWER
),
278 BattleGroundEYLoosingPointStruct(BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_CENTER
, BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_CENTER
, LANG_BG_EY_HAS_LOST_A_D_RUINS
, BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_CENTER
, LANG_BG_EY_HAS_LOST_H_D_RUINS
),
279 BattleGroundEYLoosingPointStruct(BG_EY_OBJECT_N_BANNER_MAGE_TOWER_CENTER
, BG_EY_OBJECT_A_BANNER_MAGE_TOWER_CENTER
, LANG_BG_EY_HAS_LOST_A_M_TOWER
, BG_EY_OBJECT_H_BANNER_MAGE_TOWER_CENTER
, LANG_BG_EY_HAS_LOST_H_M_TOWER
)
281 const BattleGroundEYCapturingPointStruct m_CapturingPointTypes
[EY_POINTS_MAX
] =
283 BattleGroundEYCapturingPointStruct(BG_EY_OBJECT_N_BANNER_FEL_REALVER_CENTER
, BG_EY_OBJECT_A_BANNER_FEL_REALVER_CENTER
, LANG_BG_EY_HAS_TAKEN_A_F_RUINS
, BG_EY_OBJECT_H_BANNER_FEL_REALVER_CENTER
, LANG_BG_EY_HAS_TAKEN_H_F_RUINS
, EY_GRAVEYARD_FEL_REALVER
),
284 BattleGroundEYCapturingPointStruct(BG_EY_OBJECT_N_BANNER_BLOOD_ELF_CENTER
, BG_EY_OBJECT_A_BANNER_BLOOD_ELF_CENTER
, LANG_BG_EY_HAS_TAKEN_A_B_TOWER
, BG_EY_OBJECT_H_BANNER_BLOOD_ELF_CENTER
, LANG_BG_EY_HAS_TAKEN_H_B_TOWER
, EY_GRAVEYARD_BLOOD_ELF
),
285 BattleGroundEYCapturingPointStruct(BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_CENTER
, BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_CENTER
, LANG_BG_EY_HAS_TAKEN_A_D_RUINS
, BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_CENTER
, LANG_BG_EY_HAS_TAKEN_H_D_RUINS
, EY_GRAVEYARD_DRAENEI_RUINS
),
286 BattleGroundEYCapturingPointStruct(BG_EY_OBJECT_N_BANNER_MAGE_TOWER_CENTER
, BG_EY_OBJECT_A_BANNER_MAGE_TOWER_CENTER
, LANG_BG_EY_HAS_TAKEN_A_M_TOWER
, BG_EY_OBJECT_H_BANNER_MAGE_TOWER_CENTER
, LANG_BG_EY_HAS_TAKEN_H_M_TOWER
, EY_GRAVEYARD_MAGE_TOWER
)
289 class BattleGroundEYScore
: public BattleGroundScore
292 BattleGroundEYScore () : FlagCaptures(0) {};
293 virtual ~BattleGroundEYScore() {};
297 class BattleGroundEY
: public BattleGround
299 friend class BattleGroundMgr
;
304 void Update(uint32 diff
);
306 /* inherited from BattlegroundClass */
307 virtual void AddPlayer(Player
*plr
);
308 virtual void StartingEventCloseDoors();
309 virtual void StartingEventOpenDoors();
312 uint64
GetFlagPickerGUID() const { return m_FlagKeeper
; }
313 void SetFlagPicker(uint64 guid
) { m_FlagKeeper
= guid
; }
314 bool IsFlagPickedup() const { return m_FlagKeeper
!= 0; }
315 uint8
GetFlagState() const { return m_FlagState
; }
316 void RespawnFlag(bool send_message
);
317 void RespawnFlagAfterDrop();
319 void RemovePlayer(Player
*plr
,uint64 guid
);
320 void HandleBuffUse(uint64
const& buff_guid
);
321 void HandleAreaTrigger(Player
*Source
, uint32 Trigger
);
322 void HandleKillPlayer(Player
*player
, Player
*killer
);
323 virtual WorldSafeLocsEntry
const* GetClosestGraveYard(Player
* player
);
324 virtual bool SetupBattleGround();
325 virtual void Reset();
326 void UpdateTeamScore(uint32 Team
);
327 void EndBattleGround(uint32 winner
);
328 void UpdatePlayerScore(Player
*Source
, uint32 type
, uint32 value
);
329 virtual void FillInitialWorldStates(WorldPacket
& data
);
330 void SetDroppedFlagGUID(uint64 guid
) { m_DroppedFlagGUID
= guid
;}
331 uint64
GetDroppedFlagGUID() const { return m_DroppedFlagGUID
;}
333 /* Battleground Events */
334 virtual void EventPlayerClickedOnFlag(Player
*Source
, GameObject
* target_obj
);
335 virtual void EventPlayerDroppedFlag(Player
*Source
);
338 void EventPlayerCapturedFlag(Player
*Source
, uint32 BgObjectType
);
339 void EventTeamCapturedPoint(Player
*Source
, uint32 Point
);
340 void EventTeamLostPoint(Player
*Source
, uint32 Point
);
341 void UpdatePointsCount(uint32 Team
);
342 void UpdatePointsIcons(uint32 Team
, uint32 Point
);
344 /* Point status updating procedures */
345 void CheckSomeoneLeftPoint();
346 void CheckSomeoneJoinedPoint();
347 void UpdatePointStatuses();
350 uint32
GetTeamScore(uint32 Team
) const { return m_TeamScores
[GetTeamIndexByTeamId(Team
)]; }
351 void AddPoints(uint32 Team
, uint32 Points
);
353 void RemovePoint(uint32 TeamID
, uint32 Points
= 1) { m_TeamScores
[GetTeamIndexByTeamId(TeamID
)] -= Points
; }
354 void SetTeamPoint(uint32 TeamID
, uint32 Points
= 0) { m_TeamScores
[GetTeamIndexByTeamId(TeamID
)] = Points
; }
356 uint32 m_TeamScores
[2];
357 uint32 m_HonorScoreTics
[2];
358 uint32 m_TeamPointsCount
[2];
360 uint32 m_Points_Trigger
[EY_POINTS_MAX
];
362 uint64 m_FlagKeeper
; // keepers guid
363 uint64 m_DroppedFlagGUID
;
364 uint32 m_FlagCapturedBgObjectType
; // type that should be despawned when flag is captured
365 uint8 m_FlagState
; // for checking flag state
367 int32 m_TowerCapCheckTimer
;
369 uint32 m_PointOwnedByTeam
[EY_POINTS_MAX
];
370 uint8 m_PointState
[EY_POINTS_MAX
];
371 int32 m_PointBarStatus
[EY_POINTS_MAX
];
372 typedef std::vector
<uint64
> PlayersNearPointType
;
373 PlayersNearPointType m_PlayersNearPoint
[EY_POINTS_MAX
+ 1];
374 uint8 m_CurrentPointPlayersCount
[2*EY_POINTS_MAX
];
376 int32 m_PointAddingTimer
;