[8483] Implement glyph 43361.
[getmangos.git] / src / game / BattleGroundEY.h
blob05200658fd1a14e7a8cbe86a0181273df0f6bffe
1 /*
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
22 #include "Language.h"
24 class BattleGround;
26 #define BG_EY_FLAG_RESPAWN_TIME (10*IN_MILISECONDS) //10 seconds
27 #define BG_EY_FPOINTS_TICK_TIME (2*IN_MILISECONDS) //2 seconds
29 enum BG_EY_WorldStates
31 EY_ALLIANCE_RESOURCES = 2749,
32 EY_HORDE_RESOURCES = 2750,
33 EY_ALLIANCE_BASE = 2752,
34 EY_HORDE_BASE = 2753,
35 DRAENEI_RUINS_HORDE_CONTROL = 2733,
36 DRAENEI_RUINS_ALLIANCE_CONTROL = 2732,
37 DRAENEI_RUINS_UNCONTROL = 2731,
38 MAGE_TOWER_ALLIANCE_CONTROL = 2730,
39 MAGE_TOWER_HORDE_CONTROL = 2729,
40 MAGE_TOWER_UNCONTROL = 2728,
41 FEL_REAVER_HORDE_CONTROL = 2727,
42 FEL_REAVER_ALLIANCE_CONTROL = 2726,
43 FEL_REAVER_UNCONTROL = 2725,
44 BLOOD_ELF_HORDE_CONTROL = 2724,
45 BLOOD_ELF_ALLIANCE_CONTROL = 2723,
46 BLOOD_ELF_UNCONTROL = 2722,
47 PROGRESS_BAR_PERCENT_GREY = 2720, //100 = empty (only grey), 0 = blue|red (no grey)
48 PROGRESS_BAR_STATUS = 2719, //50 init!, 48 ... hordak bere .. 33 .. 0 = full 100% hordacky , 100 = full alliance
49 PROGRESS_BAR_SHOW = 2718, //1 init, 0 druhy send - bez messagu, 1 = controlled aliance
50 NETHERSTORM_FLAG = 2757,
51 //set to 2 when flag is picked up, and to 1 if it is dropped
52 NETHERSTORM_FLAG_STATE_ALLIANCE = 2769,
53 NETHERSTORM_FLAG_STATE_HORDE = 2770
56 enum BG_EY_ProgressBarConsts
58 BG_EY_POINT_MAX_CAPTURERS_COUNT = 5,
59 BG_EY_POINT_RADIUS = 70,
60 BG_EY_PROGRESS_BAR_DONT_SHOW = 0,
61 BG_EY_PROGRESS_BAR_SHOW = 1,
62 BG_EY_PROGRESS_BAR_PERCENT_GREY = 40,
63 BG_EY_PROGRESS_BAR_STATE_MIDDLE = 50,
64 BG_EY_PROGRESS_BAR_HORDE_CONTROLLED = 0,
65 BG_EY_PROGRESS_BAR_NEUTRAL_LOW = 30,
66 BG_EY_PROGRESS_BAR_NEUTRAL_HIGH = 70,
67 BG_EY_PROGRESS_BAR_ALI_CONTROLLED = 100
70 enum BG_EY_Sounds
72 //strange ids, but sure about them
73 BG_EY_SOUND_FLAG_PICKED_UP_ALLIANCE = 8212,
74 BG_EY_SOUND_FLAG_CAPTURED_HORDE = 8213,
75 BG_EY_SOUND_FLAG_PICKED_UP_HORDE = 8174,
76 BG_EY_SOUND_FLAG_CAPTURED_ALLIANCE = 8173,
77 BG_EY_SOUND_FLAG_RESET = 8192
80 enum BG_EY_Spells
82 BG_EY_NETHERSTORM_FLAG_SPELL = 34976,
83 BG_EY_PLAYER_DROPPED_FLAG_SPELL = 34991
86 enum EYBattleGroundObjectEntry
88 BG_OBJECT_A_DOOR_EY_ENTRY = 184719, //Alliance door
89 BG_OBJECT_H_DOOR_EY_ENTRY = 184720, //Horde door
90 BG_OBJECT_FLAG1_EY_ENTRY = 184493, //Netherstorm flag (generic)
91 BG_OBJECT_FLAG2_EY_ENTRY = 184141, //Netherstorm flag (flagstand)
92 BG_OBJECT_FLAG3_EY_ENTRY = 184142, //Netherstorm flag (flagdrop)
93 BG_OBJECT_A_BANNER_EY_ENTRY = 184381, //Visual Banner (Alliance)
94 BG_OBJECT_H_BANNER_EY_ENTRY = 184380, //Visual Banner (Horde)
95 BG_OBJECT_N_BANNER_EY_ENTRY = 184382, //Visual Banner (Neutral)
96 BG_OBJECT_BE_TOWER_CAP_EY_ENTRY = 184080, //BE Tower Cap Pt
97 BG_OBJECT_FR_TOWER_CAP_EY_ENTRY = 184081, //Fel Reaver Cap Pt
98 BG_OBJECT_HU_TOWER_CAP_EY_ENTRY = 184082, //Human Tower Cap Pt
99 BG_OBJECT_DR_TOWER_CAP_EY_ENTRY = 184083 //Draenei Tower Cap Pt
102 enum EYBattleGroundPointsTrigger
104 TR_BLOOD_ELF_POINT = 4476,
105 TR_FEL_REALVER_POINT = 4514,
106 TR_MAGE_TOWER_POINT = 4516,
107 TR_DRAENEI_RUINS_POINT = 4518,
108 TR_BLOOD_ELF_BUFF = 4568,
109 TR_FEL_REALVER_BUFF = 4569,
110 TR_MAGE_TOWER_BUFF = 4570,
111 TR_DRAENEI_RUINS_BUFF = 4571
114 enum EYBattleGroundGaveyards
116 EY_GRAVEYARD_MAIN_ALLIANCE = 1103,
117 EY_GRAVEYARD_MAIN_HORDE = 1104,
118 EY_GRAVEYARD_FEL_REALVER = 1105,
119 EY_GRAVEYARD_BLOOD_ELF = 1106,
120 EY_GRAVEYARD_DRAENEI_RUINS = 1107,
121 EY_GRAVEYARD_MAGE_TOWER = 1108
124 enum EYBattleGroundPoints
126 FEL_REALVER = 0,
127 BLOOD_ELF = 1,
128 DRAENEI_RUINS = 2,
129 MAGE_TOWER = 3,
131 EY_PLAYERS_OUT_OF_POINTS = 4,
132 EY_POINTS_MAX = 4
135 enum EYBattleGroundCreaturesTypes
137 EY_SPIRIT_FEL_REALVER = 0,
138 EY_SPIRIT_BLOOD_ELF = 1,
139 EY_SPIRIT_DRAENEI_RUINS = 2,
140 EY_SPIRIT_MAGE_TOWER = 3,
141 EY_SPIRIT_MAIN_ALLIANCE = 4,
142 EY_SPIRIT_MAIN_HORDE = 5,
144 BG_EY_CREATURES_MAX = 6
147 enum EYBattleGroundObjectTypes
149 BG_EY_OBJECT_DOOR_A = 0,
150 BG_EY_OBJECT_DOOR_H = 1,
151 BG_EY_OBJECT_A_BANNER_FEL_REALVER_CENTER = 2,
152 BG_EY_OBJECT_A_BANNER_FEL_REALVER_LEFT = 3,
153 BG_EY_OBJECT_A_BANNER_FEL_REALVER_RIGHT = 4,
154 BG_EY_OBJECT_A_BANNER_BLOOD_ELF_CENTER = 5,
155 BG_EY_OBJECT_A_BANNER_BLOOD_ELF_LEFT = 6,
156 BG_EY_OBJECT_A_BANNER_BLOOD_ELF_RIGHT = 7,
157 BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_CENTER = 8,
158 BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_LEFT = 9,
159 BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_RIGHT = 10,
160 BG_EY_OBJECT_A_BANNER_MAGE_TOWER_CENTER = 11,
161 BG_EY_OBJECT_A_BANNER_MAGE_TOWER_LEFT = 12,
162 BG_EY_OBJECT_A_BANNER_MAGE_TOWER_RIGHT = 13,
163 BG_EY_OBJECT_H_BANNER_FEL_REALVER_CENTER = 14,
164 BG_EY_OBJECT_H_BANNER_FEL_REALVER_LEFT = 15,
165 BG_EY_OBJECT_H_BANNER_FEL_REALVER_RIGHT = 16,
166 BG_EY_OBJECT_H_BANNER_BLOOD_ELF_CENTER = 17,
167 BG_EY_OBJECT_H_BANNER_BLOOD_ELF_LEFT = 18,
168 BG_EY_OBJECT_H_BANNER_BLOOD_ELF_RIGHT = 19,
169 BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_CENTER = 20,
170 BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_LEFT = 21,
171 BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_RIGHT = 22,
172 BG_EY_OBJECT_H_BANNER_MAGE_TOWER_CENTER = 23,
173 BG_EY_OBJECT_H_BANNER_MAGE_TOWER_LEFT = 24,
174 BG_EY_OBJECT_H_BANNER_MAGE_TOWER_RIGHT = 25,
175 BG_EY_OBJECT_N_BANNER_FEL_REALVER_CENTER = 26,
176 BG_EY_OBJECT_N_BANNER_FEL_REALVER_LEFT = 27,
177 BG_EY_OBJECT_N_BANNER_FEL_REALVER_RIGHT = 28,
178 BG_EY_OBJECT_N_BANNER_BLOOD_ELF_CENTER = 29,
179 BG_EY_OBJECT_N_BANNER_BLOOD_ELF_LEFT = 30,
180 BG_EY_OBJECT_N_BANNER_BLOOD_ELF_RIGHT = 31,
181 BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_CENTER = 32,
182 BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_LEFT = 33,
183 BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_RIGHT = 34,
184 BG_EY_OBJECT_N_BANNER_MAGE_TOWER_CENTER = 35,
185 BG_EY_OBJECT_N_BANNER_MAGE_TOWER_LEFT = 36,
186 BG_EY_OBJECT_N_BANNER_MAGE_TOWER_RIGHT = 37,
187 BG_EY_OBJECT_TOWER_CAP_FEL_REALVER = 38,
188 BG_EY_OBJECT_TOWER_CAP_BLOOD_ELF = 39,
189 BG_EY_OBJECT_TOWER_CAP_DRAENEI_RUINS = 40,
190 BG_EY_OBJECT_TOWER_CAP_MAGE_TOWER = 41,
191 BG_EY_OBJECT_FLAG_NETHERSTORM = 42,
192 BG_EY_OBJECT_FLAG_FEL_REALVER = 43,
193 BG_EY_OBJECT_FLAG_BLOOD_ELF = 44,
194 BG_EY_OBJECT_FLAG_DRAENEI_RUINS = 45,
195 BG_EY_OBJECT_FLAG_MAGE_TOWER = 46,
196 //buffs
197 BG_EY_OBJECT_SPEEDBUFF_FEL_REALVER = 47,
198 BG_EY_OBJECT_REGENBUFF_FEL_REALVER = 48,
199 BG_EY_OBJECT_BERSERKBUFF_FEL_REALVER = 49,
200 BG_EY_OBJECT_SPEEDBUFF_BLOOD_ELF = 50,
201 BG_EY_OBJECT_REGENBUFF_BLOOD_ELF = 51,
202 BG_EY_OBJECT_BERSERKBUFF_BLOOD_ELF = 52,
203 BG_EY_OBJECT_SPEEDBUFF_DRAENEI_RUINS = 53,
204 BG_EY_OBJECT_REGENBUFF_DRAENEI_RUINS = 54,
205 BG_EY_OBJECT_BERSERKBUFF_DRAENEI_RUINS = 55,
206 BG_EY_OBJECT_SPEEDBUFF_MAGE_TOWER = 56,
207 BG_EY_OBJECT_REGENBUFF_MAGE_TOWER = 57,
208 BG_EY_OBJECT_BERSERKBUFF_MAGE_TOWER = 58,
209 BG_EY_OBJECT_MAX = 59
212 #define BG_EY_NotEYWeekendHonorTicks 330
213 #define BG_EY_EYWeekendHonorTicks 200
215 enum BG_EY_Score
217 BG_EY_WARNING_NEAR_VICTORY_SCORE = 1800,
218 BG_EY_MAX_TEAM_SCORE = 2000
221 enum BG_EY_FlagState
223 BG_EY_FLAG_STATE_ON_BASE = 0,
224 BG_EY_FLAG_STATE_WAIT_RESPAWN = 1,
225 BG_EY_FLAG_STATE_ON_PLAYER = 2,
226 BG_EY_FLAG_STATE_ON_GROUND = 3
229 enum EYBattleGroundPointState
231 EY_POINT_NO_OWNER = 0,
232 EY_POINT_STATE_UNCONTROLLED = 0,
233 EY_POINT_UNDER_CONTROL = 3
236 struct BattleGroundEYPointIconsStruct
238 BattleGroundEYPointIconsStruct(uint32 _WorldStateControlIndex, uint32 _WorldStateAllianceControlledIndex, uint32 _WorldStateHordeControlledIndex)
239 : WorldStateControlIndex(_WorldStateControlIndex), WorldStateAllianceControlledIndex(_WorldStateAllianceControlledIndex), WorldStateHordeControlledIndex(_WorldStateHordeControlledIndex) {}
240 uint32 WorldStateControlIndex;
241 uint32 WorldStateAllianceControlledIndex;
242 uint32 WorldStateHordeControlledIndex;
245 struct BattleGroundEYLoosingPointStruct
247 BattleGroundEYLoosingPointStruct(uint32 _SpawnNeutralObjectType, uint32 _DespawnObjectTypeAlliance, uint32 _MessageIdAlliance, uint32 _DespawnObjectTypeHorde, uint32 _MessageIdHorde)
248 : SpawnNeutralObjectType(_SpawnNeutralObjectType),
249 DespawnObjectTypeAlliance(_DespawnObjectTypeAlliance), MessageIdAlliance(_MessageIdAlliance),
250 DespawnObjectTypeHorde(_DespawnObjectTypeHorde), MessageIdHorde(_MessageIdHorde)
253 uint32 SpawnNeutralObjectType;
254 uint32 DespawnObjectTypeAlliance;
255 uint32 MessageIdAlliance;
256 uint32 DespawnObjectTypeHorde;
257 uint32 MessageIdHorde;
260 struct BattleGroundEYCapturingPointStruct
262 BattleGroundEYCapturingPointStruct(uint32 _DespawnNeutralObjectType, uint32 _SpawnObjectTypeAlliance, uint32 _MessageIdAlliance, uint32 _SpawnObjectTypeHorde, uint32 _MessageIdHorde, uint32 _GraveYardId)
263 : DespawnNeutralObjectType(_DespawnNeutralObjectType),
264 SpawnObjectTypeAlliance(_SpawnObjectTypeAlliance), MessageIdAlliance(_MessageIdAlliance),
265 SpawnObjectTypeHorde(_SpawnObjectTypeHorde), MessageIdHorde(_MessageIdHorde),
266 GraveYardId(_GraveYardId)
269 uint32 DespawnNeutralObjectType;
270 uint32 SpawnObjectTypeAlliance;
271 uint32 MessageIdAlliance;
272 uint32 SpawnObjectTypeHorde;
273 uint32 MessageIdHorde;
274 uint32 GraveYardId;
277 const uint8 BG_EY_TickPoints[EY_POINTS_MAX] = {1, 2, 5, 10};
278 const uint32 BG_EY_FlagPoints[EY_POINTS_MAX] = {75, 85, 100, 500};
280 //constant arrays:
281 const BattleGroundEYPointIconsStruct m_PointsIconStruct[EY_POINTS_MAX] =
283 BattleGroundEYPointIconsStruct(FEL_REAVER_UNCONTROL, FEL_REAVER_ALLIANCE_CONTROL, FEL_REAVER_HORDE_CONTROL),
284 BattleGroundEYPointIconsStruct(BLOOD_ELF_UNCONTROL, BLOOD_ELF_ALLIANCE_CONTROL, BLOOD_ELF_HORDE_CONTROL),
285 BattleGroundEYPointIconsStruct(DRAENEI_RUINS_UNCONTROL, DRAENEI_RUINS_ALLIANCE_CONTROL, DRAENEI_RUINS_HORDE_CONTROL),
286 BattleGroundEYPointIconsStruct(MAGE_TOWER_UNCONTROL, MAGE_TOWER_ALLIANCE_CONTROL, MAGE_TOWER_HORDE_CONTROL)
288 const BattleGroundEYLoosingPointStruct m_LoosingPointTypes[EY_POINTS_MAX] =
290 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),
291 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),
292 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),
293 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)
295 const BattleGroundEYCapturingPointStruct m_CapturingPointTypes[EY_POINTS_MAX] =
297 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),
298 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),
299 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),
300 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)
303 class BattleGroundEYScore : public BattleGroundScore
305 public:
306 BattleGroundEYScore () : FlagCaptures(0) {};
307 virtual ~BattleGroundEYScore() {};
308 uint32 FlagCaptures;
311 class BattleGroundEY : public BattleGround
313 friend class BattleGroundMgr;
315 public:
316 BattleGroundEY();
317 ~BattleGroundEY();
318 void Update(uint32 diff);
320 /* inherited from BattlegroundClass */
321 virtual void AddPlayer(Player *plr);
322 virtual void StartingEventCloseDoors();
323 virtual void StartingEventOpenDoors();
325 /* BG Flags */
326 uint64 GetFlagPickerGUID() const { return m_FlagKeeper; }
327 void SetFlagPicker(uint64 guid) { m_FlagKeeper = guid; }
328 bool IsFlagPickedup() const { return m_FlagKeeper != 0; }
329 uint8 GetFlagState() const { return m_FlagState; }
330 void RespawnFlag(bool send_message);
331 void RespawnFlagAfterDrop();
333 void RemovePlayer(Player *plr,uint64 guid);
334 void HandleBuffUse(uint64 const& buff_guid);
335 void HandleAreaTrigger(Player *Source, uint32 Trigger);
336 void HandleKillPlayer(Player *player, Player *killer);
337 virtual WorldSafeLocsEntry const* GetClosestGraveYard(Player* player);
338 virtual bool SetupBattleGround();
339 virtual void Reset();
340 void UpdateTeamScore(uint32 Team);
341 void EndBattleGround(uint32 winner);
342 void UpdatePlayerScore(Player *Source, uint32 type, uint32 value);
343 virtual void FillInitialWorldStates(WorldPacket& data);
344 void SetDroppedFlagGUID(uint64 guid) { m_DroppedFlagGUID = guid;}
345 uint64 GetDroppedFlagGUID() const { return m_DroppedFlagGUID;}
347 /* Battleground Events */
348 virtual void EventPlayerClickedOnFlag(Player *Source, GameObject* target_obj);
349 virtual void EventPlayerDroppedFlag(Player *Source);
351 /* achievement req. */
352 bool IsAllNodesConrolledByTeam(uint32 team) const;
353 private:
354 void EventPlayerCapturedFlag(Player *Source, uint32 BgObjectType);
355 void EventTeamCapturedPoint(Player *Source, uint32 Point);
356 void EventTeamLostPoint(Player *Source, uint32 Point);
357 void UpdatePointsCount(uint32 Team);
358 void UpdatePointsIcons(uint32 Team, uint32 Point);
360 /* Point status updating procedures */
361 void CheckSomeoneLeftPoint();
362 void CheckSomeoneJoinedPoint();
363 void UpdatePointStatuses();
365 /* Scorekeeping */
366 uint32 GetTeamScore(uint32 Team) const { return m_TeamScores[GetTeamIndexByTeamId(Team)]; }
367 void AddPoints(uint32 Team, uint32 Points);
369 void RemovePoint(uint32 TeamID, uint32 Points = 1) { m_TeamScores[GetTeamIndexByTeamId(TeamID)] -= Points; }
370 void SetTeamPoint(uint32 TeamID, uint32 Points = 0) { m_TeamScores[GetTeamIndexByTeamId(TeamID)] = Points; }
372 uint32 m_HonorScoreTics[2];
373 uint32 m_TeamPointsCount[2];
375 uint32 m_Points_Trigger[EY_POINTS_MAX];
377 uint64 m_FlagKeeper; // keepers guid
378 uint64 m_DroppedFlagGUID;
379 uint32 m_FlagCapturedBgObjectType; // type that should be despawned when flag is captured
380 uint8 m_FlagState; // for checking flag state
381 int32 m_FlagsTimer;
382 int32 m_TowerCapCheckTimer;
384 uint32 m_PointOwnedByTeam[EY_POINTS_MAX];
385 uint8 m_PointState[EY_POINTS_MAX];
386 int32 m_PointBarStatus[EY_POINTS_MAX];
387 typedef std::vector<uint64> PlayersNearPointType;
388 PlayersNearPointType m_PlayersNearPoint[EY_POINTS_MAX + 1];
389 uint8 m_CurrentPointPlayersCount[2*EY_POINTS_MAX];
391 int32 m_PointAddingTimer;
392 uint32 m_HonorTics;
394 #endif