Update BattleGround System for 322a

--HG--
branch : trunk
This commit is contained in:
n0n4m3
2009-12-17 10:43:12 +01:00
parent 2edfea7bb9
commit 5697ea9c94
17 changed files with 569 additions and 60 deletions
+19 -14
View File
@@ -29,6 +29,7 @@ class GameObject;
class Group;
class Player;
class WorldPacket;
class BattleGroundMap;
struct WorldSafeLocsEntry;
@@ -97,9 +98,9 @@ enum BattleGroundSpells
enum BattleGroundTimeIntervals
{
RESURRECTION_INTERVAL = 30000, // ms
REMIND_INTERVAL = 30000, // ms
INVITATION_REMIND_TIME = 60000, // ms
INVITE_ACCEPT_WAIT_TIME = 80000, // ms
//REMIND_INTERVAL = 10000, // ms
INVITATION_REMIND_TIME = 20000, // ms
INVITE_ACCEPT_WAIT_TIME = 40000, // ms
TIME_TO_AUTOREMOVE = 120000, // ms
MAX_OFFLINE_TIME = 300, // secs
RESPAWN_ONE_DAY = 86400, // secs
@@ -158,11 +159,12 @@ enum BattleGroundQueueTypeId
BATTLEGROUND_QUEUE_AB = 3,
BATTLEGROUND_QUEUE_EY = 4,
BATTLEGROUND_QUEUE_SA = 5,
BATTLEGROUND_QUEUE_2v2 = 6,
BATTLEGROUND_QUEUE_3v3 = 7,
BATTLEGROUND_QUEUE_5v5 = 8
BATTLEGROUND_QUEUE_IC = 6,
BATTLEGROUND_QUEUE_2v2 = 7,
BATTLEGROUND_QUEUE_3v3 = 8,
BATTLEGROUND_QUEUE_5v5 = 9,
MAX_BATTLEGROUND_QUEUE_TYPES
};
#define MAX_BATTLEGROUND_QUEUE_TYPES 9
enum BGQueueIdBasedOnLevel // queue_id for level ranges
{
@@ -210,12 +212,6 @@ enum ArenaType
ARENA_TYPE_5v5 = 5
};
enum ArenaWorldUnitState
{
HORDE_WORLD_STATE = 0xE10,
ALLIANCE_WORLD_STATE = 0xE11
};
enum BattleGroundType
{
TYPE_BATTLEGROUND = 3,
@@ -420,6 +416,14 @@ class BattleGround
void SetMapId(uint32 MapID) { m_MapId = MapID; }
uint32 GetMapId() const { return m_MapId; }
/* Map pointers */
void SetBgMap(BattleGroundMap* map) { m_Map = map; }
BattleGroundMap* GetBgMap()
{
ASSERT(m_Map);
return m_Map;
}
void SetTeamStartLoc(uint32 TeamID, float X, float Y, float Z, float O);
void GetTeamStartLoc(uint32 TeamID, float &X, float &Y, float &Z, float &O) const
{
@@ -484,7 +488,7 @@ class BattleGround
void SetArenaTeamRatingChangeForTeam(uint32 Team, int32 RatingChange) { m_ArenaTeamRatingChanges[GetTeamIndexByTeamId(Team)] = RatingChange; }
int32 GetArenaTeamRatingChangeForTeam(uint32 Team) const { return m_ArenaTeamRatingChanges[GetTeamIndexByTeamId(Team)]; }
void CheckArenaWinConditions();
void UpdateArenaUnitWorldState();
void UpdateArenaWorldState();
/* Triggers handle */
// must be implemented in BG subclass
@@ -623,6 +627,7 @@ class BattleGround
/* Start location */
uint32 m_MapId;
BattleGroundMap* m_Map;
float m_TeamStartLocX[BG_TEAMS_COUNT];
float m_TeamStartLocY[BG_TEAMS_COUNT];
float m_TeamStartLocZ[BG_TEAMS_COUNT];