mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 09:17:36 +01:00
82
sql/updates/world/2014_09_19_07_world_creature_text.sql
Normal file
82
sql/updates/world/2014_09_19_07_world_creature_text.sql
Normal file
@@ -0,0 +1,82 @@
|
||||
DELETE FROM `trinity_string` WHERE `entry` BETWEEN 12050 AND 12072;
|
||||
DELETE FROM `creature_text` WHERE `entry`=15214 AND (`groupid`=0 OR `groupid` BETWEEN 27 AND 38);
|
||||
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(15214, 27, 0, 'The Battle for Lake Wintergrasp is about to begin!', 41, 0, 100, 0, 0, 0, 30960, 2, 'Invisible Stalker'),
|
||||
(15214, 28, 0, 'Let the battle begin!', 41, 0, 100, 0, 0, 0, 30961, 2, 'Invisible Stalker'),
|
||||
|
||||
(15214, 29, 0, 'The Alliance has defended Wintergrasp Fortress!', 41, 0, 100, 0, 0, 8455, 31403, 2, 'Invisible Stalker'),
|
||||
(15214, 30, 0, 'The Alliance has captured Wintergrasp Fortress!', 41, 0, 100, 0, 0, 8455, 27817, 2, 'Invisible Stalker'),
|
||||
|
||||
(15214, 31, 0, 'The Horde has defended Wintergrasp Fortress!', 41, 0, 100, 0, 0, 8454, 31405, 2, 'Invisible Stalker'),
|
||||
(15214, 32, 0, 'The Horde has captured Wintergrasp Fortress!', 41, 0, 100, 0, 0, 8454, 27816, 2, 'Invisible Stalker'),
|
||||
|
||||
(15214, 33, 0, 'The north-eastern keep tower has been damaged!', 41, 0, 100, 0, 0, 0, 31235, 2, 'Invisible Stalker'),
|
||||
(15214, 34, 0, 'The north-eastern keep tower has been destroyed!', 41, 0, 100, 0, 0, 0, 31236, 2, 'Invisible Stalker'),
|
||||
|
||||
(15214, 35, 0, 'The south-western keep tower has been damaged!', 41, 0, 100, 0, 0, 0, 31233, 2, 'Invisible Stalker'),
|
||||
(15214, 36, 0, 'The south-western keep tower has been destroyed!', 41, 0, 100, 0, 0, 0, 31238, 2, 'Invisible Stalker'),
|
||||
|
||||
(15214, 37, 0, 'You have reached Rank 1: Corporal', 42, 0, 100, 0, 0, 0, 30650, 0, 'Invisible Stalker - Player'),
|
||||
(15214, 38, 0, 'You have reached Rank 2: First Lieutenant', 42, 0, 100, 0, 0, 0, 30651, 0, 'Invisible Stalker - Player');
|
||||
|
||||
|
||||
/*
|
||||
(15214, x, x, 'The Battle for Lake Wintergrasp is about to begin!', 41, 0, 100, 0, 0, 0, '30960', 'Invisible Stalker'),
|
||||
(15214, x, x, 'Let the battle begin!', 41, 0, 100, 0, 0, 0, '30961', 'Invisible Stalker'),
|
||||
|
||||
(15214, x, x, 'The Eastspark siege workshop has been attacked by the Alliance!', 41, 0, 100, 0, 0, 0, '34408', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Eastspark siege workshop has been captured by the Alliance!', 41, 0, 100, 0, 0, 0, '34404', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Eastspark siege workshop has been attacked by the Horde!', 41, 0, 100, 0, 0, 0, '34409', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Eastspark siege workshop has been captured by the Horde!', 41, 0, 100, 0, 0, 0, '34406', 'Invisible Stalker'),
|
||||
|
||||
(15214, x, x, 'The Westspark siege workshop has been attacked by the Alliance!', 41, 0, 100, 0, 0, 0, '34410', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Westspark siege workshop has been captured by the Alliance!', 41, 0, 100, 0, 0, 0, '34405', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Westspark siege workshop has been attacked by the Horde!', 41, 0, 100, 0, 0, 0, '34411', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Westspark siege workshop has been captured by the Horde!', 41, 0, 100, 0, 0, 0, '34407', 'Invisible Stalker'),
|
||||
|
||||
(15214, x, x, 'The Sunken Ring siege workshop has been attacked by the Alliance!', 41, 0, 100, 0, 0, 0, '33059', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Sunken Ring siege workshop has been captured by the Alliance!', 41, 0, 100, 0, 0, 0, '30938', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Sunken Ring siege workshop has been attacked by the Horde!', 41, 0, 100, 0, 0, 0, '33060', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Sunken Ring siege workshop has been captured by the Horde!', 41, 0, 100, 0, 0, 0, '30940', 'Invisible Stalker'),
|
||||
|
||||
(15214, x, x, 'The Broken Temple siege workshop has been attacked by the Alliance!', 41, 0, 100, 0, 0, 0, '33061', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Broken Temple siege workshop has been captured by the Alliance!', 41, 0, 100, 0, 0, 0, '30939', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Broken Temple siege workshop has been attacked by the Horde!', 41, 0, 100, 0, 0, 0, '33062', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Broken Temple siege workshop has been captured by the Horde!', 41, 0, 100, 0, 0, 0, '30941', 'Invisible Stalker'),
|
||||
|
||||
|
||||
|
||||
(15214, x, x, 'The eastern tower has been damaged!', 41, 0, 100, 0, 0, 0, '31246', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The eastern tower has been destroyed!', 41, 0, 100, 0, 0, 0, '31251', 'Invisible Stalker'),
|
||||
|
||||
(15214, x, x, 'The southern tower has been damaged!', 41, 0, 100, 0, 0, 0, '31247', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The southern tower has been destroyed!', 41, 0, 100, 0, 0, 0, '31250', 'Invisible Stalker'),
|
||||
|
||||
|
||||
(15214, x, x, 'The western tower has been damaged!', 41, 0, 100, 0, 0, 0, '31248', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The western tower has been destroyed!', 41, 0, 100, 0, 0, 0, '31249', 'Invisible Stalker'),
|
||||
|
||||
|
||||
|
||||
(15214, x, x, 'The north-western keep tower has been damaged!', 41, 0, 100, 0, 0, 0, '31232', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The north-western keep tower has been destroyed!', 41, 0, 100, 0, 0, 0, '31239', 'Invisible Stalker'),
|
||||
|
||||
(15214, x, x, 'The south-western keep tower has been damaged!', 41, 0, 100, 0, 0, 0, '31233', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The south-western keep tower has been destroyed!', 41, 0, 100, 0, 0, 0, '31238', 'Invisible Stalker'),
|
||||
|
||||
(15214, x, x, 'The north-eastern keep tower has been damaged!', 41, 0, 100, 0, 0, 0, '31235', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The north-eastern keep tower has been destroyed!', 41, 0, 100, 0, 0, 0, '31236', 'Invisible Stalker'),
|
||||
|
||||
(15214, x, x, 'The south-eastern keep tower has been damaged!', 41, 0, 100, 0, 0, 0, '31234', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The south-eastern keep tower has been destroyed!', 41, 0, 100, 0, 0, 0, '31237', 'Invisible Stalker'),
|
||||
|
||||
|
||||
(15214, x, x, 'The Alliance has defended Wintergrasp Fortress!', 41, 0, 100, 0, 0, 8455, '31403', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Alliance has captured Wintergrasp Fortress!', 41, 0, 100, 0, 0, 8455, '27817', 'Invisible Stalker'),
|
||||
|
||||
(15214, x, x, 'The Horde has defended Wintergrasp Fortress!', 41, 0, 100, 0, 0, 8454, '31405', 'Invisible Stalker'),
|
||||
(15214, x, x, 'The Horde has captured Wintergrasp Fortress!', 41, 0, 100, 0, 0, 8454, '27816', 'Invisible Stalker'),
|
||||
|
||||
(0, x, x, 'You have reached Rank 1: Corporal', 42, 0, 100, 0, 0, 0, '30650', 'Cherber to 0'),
|
||||
(0, x, x, 'You have reached Rank 2: First Lieutenant', 42, 0, 100, 0, 0, 0, '30651', 'Cherber to 0'),
|
||||
*/
|
||||
@@ -322,8 +322,6 @@ void Battlefield::StartBattle()
|
||||
InvitePlayersInZoneToWar();
|
||||
InvitePlayersInQueueToWar();
|
||||
|
||||
DoPlaySoundToAll(BF_START);
|
||||
|
||||
OnBattleStart();
|
||||
}
|
||||
|
||||
@@ -339,11 +337,6 @@ void Battlefield::EndBattle(bool endByTimer)
|
||||
if (!endByTimer)
|
||||
SetDefenderTeam(GetAttackerTeam());
|
||||
|
||||
if (GetDefenderTeam() == TEAM_ALLIANCE)
|
||||
DoPlaySoundToAll(BF_ALLIANCE_WINS);
|
||||
else
|
||||
DoPlaySoundToAll(BF_HORDE_WINS);
|
||||
|
||||
OnBattleEnd(endByTimer);
|
||||
|
||||
// Reset battlefield timer
|
||||
|
||||
@@ -44,9 +44,9 @@ enum BattlefieldObjectiveStates
|
||||
|
||||
enum BattlefieldSounds
|
||||
{
|
||||
BF_HORDE_WINS = 8454,
|
||||
BF_ALLIANCE_WINS = 8455,
|
||||
BF_START = 3439
|
||||
BF_SOUND_HORDE_WINS = 8454,
|
||||
BF_SOUND_ALLIANCE_WINS = 8455,
|
||||
BF_SOUND_START = 3439
|
||||
};
|
||||
|
||||
enum BattlefieldTimers
|
||||
@@ -97,9 +97,10 @@ class BfCapturePoint
|
||||
|
||||
bool SetCapturePointData(GameObject* capturePoint);
|
||||
GameObject* GetCapturePointGo();
|
||||
uint32 GetCapturePointEntry(){ return m_capturePointEntry; }
|
||||
uint32 GetCapturePointEntry() const { return m_capturePointEntry; }
|
||||
|
||||
TeamId GetTeamId() { return m_team; }
|
||||
|
||||
protected:
|
||||
bool DelCapturePoint();
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -25,11 +25,11 @@ class BattlefieldWG;
|
||||
class WintergraspCapturePoint;
|
||||
|
||||
struct BfWGGameObjectBuilding;
|
||||
struct WGWorkshop;
|
||||
struct WintergraspWorkshop;
|
||||
|
||||
typedef std::set<GameObject*> GameObjectSet;
|
||||
typedef std::set<BfWGGameObjectBuilding*> GameObjectBuilding;
|
||||
typedef std::set<WGWorkshop*> Workshop;
|
||||
typedef std::set<BfWGGameObjectBuilding*> GameObjectBuildingSet;
|
||||
typedef std::set<WintergraspWorkshop*> WorkshopSet;
|
||||
typedef std::set<Group*> GroupSet;
|
||||
//typedef std::set<WintergraspCapturePoint *> CapturePointSet; unused ?
|
||||
|
||||
@@ -222,7 +222,7 @@ struct BfWGCoordGY
|
||||
float o;
|
||||
uint32 gyid;
|
||||
uint8 type;
|
||||
int32 textid; // for gossip menu
|
||||
uint32 textid; // for gossip menu
|
||||
TeamId startcontrol;
|
||||
};
|
||||
|
||||
@@ -253,13 +253,13 @@ class WintergraspCapturePoint : public BfCapturePoint
|
||||
public:
|
||||
WintergraspCapturePoint(BattlefieldWG* battlefield, TeamId teamInControl);
|
||||
|
||||
void LinkToWorkshop(WGWorkshop* workshop) { m_Workshop = workshop; }
|
||||
void LinkToWorkshop(WintergraspWorkshop* workshop) { m_Workshop = workshop; }
|
||||
|
||||
void ChangeTeam(TeamId oldteam) override;
|
||||
TeamId GetTeam() const { return m_team; }
|
||||
|
||||
protected:
|
||||
WGWorkshop* m_Workshop;
|
||||
WintergraspWorkshop* m_Workshop;
|
||||
};
|
||||
|
||||
/* ######################### *
|
||||
@@ -415,11 +415,11 @@ class BattlefieldWG : public Battlefield
|
||||
protected:
|
||||
bool m_isRelicInteractible;
|
||||
|
||||
Workshop WorkshopsList;
|
||||
WorkshopSet Workshops;
|
||||
|
||||
GuidSet DefenderPortalList;
|
||||
GuidSet m_KeepGameObject[BG_TEAMS_COUNT];
|
||||
GameObjectBuilding BuildingsInZone;
|
||||
GameObjectBuildingSet BuildingsInZone;
|
||||
|
||||
GuidSet m_vehicles[BG_TEAMS_COUNT];
|
||||
GuidSet CanonList;
|
||||
@@ -446,6 +446,7 @@ uint8 const WG_MAX_OUTSIDE_NPC = 14;
|
||||
uint8 const WG_OUTSIDE_ALLIANCE_NPC = 7;
|
||||
uint8 const WG_MAX_TELEPORTER = 12;
|
||||
uint8 const WG_MAX_WORKSHOP = 6;
|
||||
uint8 const WG_MAX_TOWER = 7;
|
||||
|
||||
enum WintergraspGameObjectBuildingType
|
||||
{
|
||||
@@ -471,6 +472,17 @@ enum WintergraspGameObjectState
|
||||
BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_DESTROY
|
||||
};
|
||||
|
||||
enum WintergraspTowerIds
|
||||
{
|
||||
BATTLEFIELD_WG_TOWER_FORTRESS_NW,
|
||||
BATTLEFIELD_WG_TOWER_FORTRESS_SW,
|
||||
BATTLEFIELD_WG_TOWER_FORTRESS_SE,
|
||||
BATTLEFIELD_WG_TOWER_FORTRESS_NE,
|
||||
BATTLEFIELD_WG_TOWER_SHADOWSIGHT,
|
||||
BATTLEFIELD_WG_TOWER_WINTER_S_EDGE,
|
||||
BATTLEFIELD_WG_TOWER_FLAMEWATCH
|
||||
};
|
||||
|
||||
enum WintergraspWorkshopIds
|
||||
{
|
||||
BATTLEFIELD_WG_WORKSHOP_NE,
|
||||
@@ -498,32 +510,50 @@ enum WintergraspTeamControl
|
||||
BATTLEFIELD_WG_TEAM_NEUTRAL
|
||||
};
|
||||
|
||||
/// @todo: Can this be handled with creature_text or SmartAI ?
|
||||
enum WintergraspText
|
||||
{
|
||||
BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_NE = 12055,
|
||||
BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_NW = 12052,
|
||||
BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_SE = 12053,
|
||||
BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_SW = 12054,
|
||||
BATTLEFIELD_WG_TEXT_WORKSHOP_ATTACK = 12051,
|
||||
BATTLEFIELD_WG_TEXT_WORKSHOP_TAKEN = 12050,
|
||||
BATTLEFIELD_WG_TEXT_ALLIANCE = 12057,
|
||||
BATTLEFIELD_WG_TEXT_HORDE = 12056,
|
||||
BATTLEFIELD_WG_TEXT_WILL_START = 12058,
|
||||
BATTLEFIELD_WG_TEXT_START = 12067,
|
||||
BATTLEFIELD_WG_TEXT_FIRSTRANK = 12059,
|
||||
BATTLEFIELD_WG_TEXT_SECONDRANK = 12060,
|
||||
BATTLEFIELD_WG_TEXT_KEEPTOWER_NAME_NE = 12062,
|
||||
BATTLEFIELD_WG_TEXT_KEEPTOWER_NAME_NW = 12064,
|
||||
BATTLEFIELD_WG_TEXT_KEEPTOWER_NAME_SE = 12061,
|
||||
BATTLEFIELD_WG_TEXT_KEEPTOWER_NAME_SW = 12063,
|
||||
BATTLEFIELD_WG_TEXT_TOWER_DAMAGE = 12065,
|
||||
BATTLEFIELD_WG_TEXT_TOWER_DESTROY = 12066,
|
||||
BATTLEFIELD_WG_TEXT_TOWER_NAME_S = 12069,
|
||||
BATTLEFIELD_WG_TEXT_TOWER_NAME_E = 12070,
|
||||
BATTLEFIELD_WG_TEXT_TOWER_NAME_W = 12071,
|
||||
BATTLEFIELD_WG_TEXT_DEFEND_KEEP = 12068,
|
||||
BATTLEFIELD_WG_TEXT_WIN_KEEP = 12072
|
||||
// Invisible Stalker
|
||||
BATTLEFIELD_WG_TEXT_SOUTHERN_TOWER_DAMAGE = 1,
|
||||
BATTLEFIELD_WG_TEXT_SOUTHERN_TOWER_DESTROY = 2,
|
||||
BATTLEFIELD_WG_TEXT_EASTERN_TOWER_DAMAGE = 3,
|
||||
BATTLEFIELD_WG_TEXT_EASTERN_TOWER_DESTROY = 4,
|
||||
BATTLEFIELD_WG_TEXT_WESTERN_TOWER_DAMAGE = 5,
|
||||
BATTLEFIELD_WG_TEXT_WESTERN_TOWER_DESTROY = 6,
|
||||
BATTLEFIELD_WG_TEXT_NW_KEEPTOWER_DAMAGE = 7,
|
||||
BATTLEFIELD_WG_TEXT_NW_KEEPTOWER_DESTROY = 8,
|
||||
BATTLEFIELD_WG_TEXT_SE_KEEPTOWER_DAMAGE = 9,
|
||||
BATTLEFIELD_WG_TEXT_SE_KEEPTOWER_DESTROY = 10,
|
||||
BATTLEFIELD_WG_TEXT_BROKEN_TEMPLE_ATTACK_ALLIANCE = 11,
|
||||
BATTLEFIELD_WG_TEXT_BROKEN_TEMPLE_CAPTURE_ALLIANCE = 12,
|
||||
BATTLEFIELD_WG_TEXT_BROKEN_TEMPLE_ATTACK_HORDE = 13,
|
||||
BATTLEFIELD_WG_TEXT_BROKEN_TEMPLE_CAPTURE_HORDE = 14,
|
||||
BATTLEFIELD_WG_TEXT_EASTSPARK_ATTACK_ALLIANCE = 15,
|
||||
BATTLEFIELD_WG_TEXT_EASTSPARK_CAPTURE_ALLIANCE = 16,
|
||||
BATTLEFIELD_WG_TEXT_EASTSPARK_ATTACK_HORDE = 17,
|
||||
BATTLEFIELD_WG_TEXT_EASTSPARK_CAPTURE_HORDE = 18,
|
||||
BATTLEFIELD_WG_TEXT_SUNKEN_RING_ATTACK_ALLIANCE = 19,
|
||||
BATTLEFIELD_WG_TEXT_SUNKEN_RING_CAPTURE_ALLIANCE = 20,
|
||||
BATTLEFIELD_WG_TEXT_SUNKEN_RING_ATTACK_HORDE = 21,
|
||||
BATTLEFIELD_WG_TEXT_SUNKEN_RING_CAPTURE_HORDE = 22,
|
||||
BATTLEFIELD_WG_TEXT_WESTSPARK_ATTACK_ALLIANCE = 23,
|
||||
BATTLEFIELD_WG_TEXT_WESTSPARK_CAPTURE_ALLIANCE = 24,
|
||||
BATTLEFIELD_WG_TEXT_WESTSPARK_ATTACK_HORDE = 25,
|
||||
BATTLEFIELD_WG_TEXT_WESTSPARK_CAPTURE_HORDE = 26,
|
||||
|
||||
BATTLEFIELD_WG_TEXT_START_GROUPING = 27,
|
||||
BATTLEFIELD_WG_TEXT_START_BATTLE = 28,
|
||||
BATTLEFIELD_WG_TEXT_FORTRESS_DEFEND_ALLIANCE = 29,
|
||||
BATTLEFIELD_WG_TEXT_FORTRESS_CAPTURE_ALLIANCE = 30,
|
||||
BATTLEFIELD_WG_TEXT_FORTRESS_DEFEND_HORDE = 31,
|
||||
BATTLEFIELD_WG_TEXT_FORTRESS_CAPTURE_HORDE = 32,
|
||||
|
||||
BATTLEFIELD_WG_TEXT_NE_KEEPTOWER_DAMAGE = 33,
|
||||
BATTLEFIELD_WG_TEXT_NE_KEEPTOWER_DESTROY = 34,
|
||||
BATTLEFIELD_WG_TEXT_SW_KEEPTOWER_DAMAGE = 35,
|
||||
BATTLEFIELD_WG_TEXT_SW_KEEPTOWER_DESTROY = 36,
|
||||
|
||||
BATTLEFIELD_WG_TEXT_RANK_CORPORAL = 37,
|
||||
BATTLEFIELD_WG_TEXT_RANK_FIRST_LIEUTENANT = 38
|
||||
};
|
||||
|
||||
enum WintergraspGameObject
|
||||
@@ -550,16 +580,6 @@ enum WintergraspGameObject
|
||||
GO_WINTERGRASP_KEEP_COLLISION_WALL = 194323
|
||||
};
|
||||
|
||||
struct WintergraspObjectPositionData
|
||||
{
|
||||
float x;
|
||||
float y;
|
||||
float z;
|
||||
float o;
|
||||
uint32 entryHorde;
|
||||
uint32 entryAlliance;
|
||||
};
|
||||
|
||||
// *****************************************************
|
||||
// ************ Destructible (Wall, Tower..) ***********
|
||||
// *****************************************************
|
||||
@@ -572,72 +592,90 @@ struct WintergraspBuildingSpawnData
|
||||
float y;
|
||||
float z;
|
||||
float o;
|
||||
uint32 type;
|
||||
uint32 nameId;
|
||||
WintergraspGameObjectBuildingType type;
|
||||
};
|
||||
|
||||
struct WintergraspRebuildableBuildingData
|
||||
struct WintergraspObjectPositionData
|
||||
{
|
||||
ObjectGuid Guid;
|
||||
uint32 entry;
|
||||
uint32 WorldState;
|
||||
float x;
|
||||
float y;
|
||||
float z;
|
||||
float o;
|
||||
uint32 type;
|
||||
uint32 nameId;
|
||||
uint32 entryHorde;
|
||||
uint32 entryAlliance;
|
||||
};
|
||||
|
||||
const WintergraspBuildingSpawnData WGGameObjectBuilding[WG_MAX_OBJ] =
|
||||
WintergraspBuildingSpawnData const WGGameObjectBuilding[WG_MAX_OBJ] =
|
||||
{
|
||||
// Wall (Not spawned in db)
|
||||
// Entry WS X Y Z O type NameID
|
||||
{ 190219, 3749, 5371.46f, 3047.47f, 407.571f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 190220, 3750, 5331.26f, 3047.1f, 407.923f, 0.052359f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191795, 3764, 5385.84f, 2909.49f, 409.713f, 0.00872f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191796, 3772, 5384.45f, 2771.84f, 410.27f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191799, 3762, 5371.44f, 2630.61f, 408.816f, 3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191800, 3766, 5301.84f, 2909.09f, 409.866f, 0.008724f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191801, 3770, 5301.06f, 2771.41f, 409.901f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191802, 3751, 5280.2f, 2995.58f, 408.825f, 1.61443f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191803, 3752, 5279.14f, 2956.02f, 408.604f, 1.5708f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191804, 3767, 5278.69f, 2882.51f, 409.539f, 1.5708f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191806, 3769, 5279.5f, 2798.94f, 409.998f, 1.5708f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191807, 3759, 5279.94f, 2724.77f, 409.945f, 1.56207f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191808, 3760, 5279.6f, 2683.79f, 409.849f, 1.55334f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191809, 3761, 5330.96f, 2630.78f, 409.283f, 3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 190369, 3753, 5256.08f, 2933.96f, 409.357f, 3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 190370, 3758, 5257.46f, 2747.33f, 409.743f, -3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 190371, 3754, 5214.96f, 2934.09f, 409.19f, -0.008724f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 190372, 3757, 5215.82f, 2747.57f, 409.188f, -3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 190374, 3755, 5162.27f, 2883.04f, 410.256f, 1.57952f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 190376, 3756, 5163.72f, 2799.84f, 409.227f, 1.57952f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
// Entry WS X Y Z O Type
|
||||
{ 190219, 3749, 5371.46f, 3047.47f, 407.571f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 190220, 3750, 5331.26f, 3047.1f, 407.923f, 0.052359f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191795, 3764, 5385.84f, 2909.49f, 409.713f, 0.00872f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191796, 3772, 5384.45f, 2771.84f, 410.27f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191799, 3762, 5371.44f, 2630.61f, 408.816f, 3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191800, 3766, 5301.84f, 2909.09f, 409.866f, 0.008724f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191801, 3770, 5301.06f, 2771.41f, 409.901f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191802, 3751, 5280.2f, 2995.58f, 408.825f, 1.61443f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191803, 3752, 5279.14f, 2956.02f, 408.604f, 1.5708f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191804, 3767, 5278.69f, 2882.51f, 409.539f, 1.5708f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191806, 3769, 5279.5f, 2798.94f, 409.998f, 1.5708f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191807, 3759, 5279.94f, 2724.77f, 409.945f, 1.56207f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191808, 3760, 5279.6f, 2683.79f, 409.849f, 1.55334f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191809, 3761, 5330.96f, 2630.78f, 409.283f, 3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 190369, 3753, 5256.08f, 2933.96f, 409.357f, 3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 190370, 3758, 5257.46f, 2747.33f, 409.743f, -3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 190371, 3754, 5214.96f, 2934.09f, 409.19f, -0.008724f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 190372, 3757, 5215.82f, 2747.57f, 409.188f, -3.13286f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 190374, 3755, 5162.27f, 2883.04f, 410.256f, 1.57952f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 190376, 3756, 5163.72f, 2799.84f, 409.227f, 1.57952f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
|
||||
// Tower of keep (Not spawned in db)
|
||||
{ 190221, 3711, 5281.15f, 3044.59f, 407.843f, 3.11539f, BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER, BATTLEFIELD_WG_TEXT_KEEPTOWER_NAME_NW },
|
||||
{ 190373, 3713, 5163.76f, 2932.23f, 409.19f, 3.12412f, BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER, BATTLEFIELD_WG_TEXT_KEEPTOWER_NAME_SW },
|
||||
{ 190377, 3714, 5166.4f, 2748.37f, 409.188f, -1.5708f, BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER, BATTLEFIELD_WG_TEXT_KEEPTOWER_NAME_SE },
|
||||
{ 190378, 3712, 5281.19f, 2632.48f, 409.099f, -1.58825f, BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER, BATTLEFIELD_WG_TEXT_KEEPTOWER_NAME_NE },
|
||||
{ 190221, 3711, 5281.15f, 3044.59f, 407.843f, 3.11539f, BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER }, // NW
|
||||
{ 190373, 3713, 5163.76f, 2932.23f, 409.19f, 3.12412f, BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER }, // SW
|
||||
{ 190377, 3714, 5166.4f, 2748.37f, 409.188f, -1.5708f, BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER }, // SE
|
||||
{ 190378, 3712, 5281.19f, 2632.48f, 409.099f, -1.58825f, BATTLEFIELD_WG_OBJECTTYPE_KEEP_TOWER }, // NE
|
||||
|
||||
// Wall (with passage) (Not spawned in db)
|
||||
{ 191797, 3765, 5343.29f, 2908.86f, 409.576f, 0.008724f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191798, 3771, 5342.72f, 2771.39f, 409.625f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191805, 3768, 5279.13f, 2840.8f, 409.783f, 1.57952f, BATTLEFIELD_WG_OBJECTTYPE_WALL, 0 },
|
||||
{ 191797, 3765, 5343.29f, 2908.86f, 409.576f, 0.008724f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191798, 3771, 5342.72f, 2771.39f, 409.625f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
{ 191805, 3768, 5279.13f, 2840.8f, 409.783f, 1.57952f, BATTLEFIELD_WG_OBJECTTYPE_WALL },
|
||||
|
||||
// South tower (Not spawned in db)
|
||||
{ 190356, 3704, 4557.17f, 3623.94f, 395.883f, 1.67552f, BATTLEFIELD_WG_OBJECTTYPE_TOWER, BATTLEFIELD_WG_TEXT_TOWER_NAME_W },
|
||||
{ 190357, 3705, 4398.17f, 2822.5f, 405.627f, -3.12412f, BATTLEFIELD_WG_OBJECTTYPE_TOWER, BATTLEFIELD_WG_TEXT_TOWER_NAME_S },
|
||||
{ 190358, 3706, 4459.1f, 1944.33f, 434.991f, -2.00276f, BATTLEFIELD_WG_OBJECTTYPE_TOWER, BATTLEFIELD_WG_TEXT_TOWER_NAME_E },
|
||||
{ 190356, 3704, 4557.17f, 3623.94f, 395.883f, 1.67552f, BATTLEFIELD_WG_OBJECTTYPE_TOWER }, // W
|
||||
{ 190357, 3705, 4398.17f, 2822.5f, 405.627f, -3.12412f, BATTLEFIELD_WG_OBJECTTYPE_TOWER }, // S
|
||||
{ 190358, 3706, 4459.1f, 1944.33f, 434.991f, -2.00276f, BATTLEFIELD_WG_OBJECTTYPE_TOWER }, // E
|
||||
|
||||
// Door of forteress (Not spawned in db)
|
||||
{ GO_WINTERGRASP_FORTRESS_GATE, 3763, 5162.99f, 2841.23f, 410.162f, -3.13286f, BATTLEFIELD_WG_OBJECTTYPE_DOOR, 0 },
|
||||
{ GO_WINTERGRASP_FORTRESS_GATE, 3763, 5162.99f, 2841.23f, 410.162f, -3.13286f, BATTLEFIELD_WG_OBJECTTYPE_DOOR },
|
||||
|
||||
// Last door (Not spawned in db)
|
||||
{ GO_WINTERGRASP_VAULT_GATE, 3773, 5397.11f, 2841.54f, 425.899f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_DOOR_LAST, 0 },
|
||||
{ GO_WINTERGRASP_VAULT_GATE, 3773, 5397.11f, 2841.54f, 425.899f, 3.14159f, BATTLEFIELD_WG_OBJECTTYPE_DOOR_LAST },
|
||||
};
|
||||
|
||||
const Position WGTurret[WG_MAX_TURRET] =
|
||||
struct StaticWintergraspTowerInfo
|
||||
{
|
||||
uint8 TowerId;
|
||||
|
||||
struct
|
||||
{
|
||||
uint8 Damaged;
|
||||
uint8 Destroyed;
|
||||
} TextIds;
|
||||
};
|
||||
|
||||
StaticWintergraspTowerInfo const TowerData[WG_MAX_TOWER] =
|
||||
{
|
||||
{ BATTLEFIELD_WG_TOWER_FORTRESS_NW, BATTLEFIELD_WG_TEXT_NW_KEEPTOWER_DAMAGE, BATTLEFIELD_WG_TEXT_NW_KEEPTOWER_DESTROY },
|
||||
{ BATTLEFIELD_WG_TOWER_FORTRESS_SW, BATTLEFIELD_WG_TEXT_SW_KEEPTOWER_DAMAGE, BATTLEFIELD_WG_TEXT_SW_KEEPTOWER_DESTROY },
|
||||
{ BATTLEFIELD_WG_TOWER_FORTRESS_SE, BATTLEFIELD_WG_TEXT_SE_KEEPTOWER_DAMAGE, BATTLEFIELD_WG_TEXT_SE_KEEPTOWER_DESTROY },
|
||||
{ BATTLEFIELD_WG_TOWER_FORTRESS_NE, BATTLEFIELD_WG_TEXT_NE_KEEPTOWER_DAMAGE, BATTLEFIELD_WG_TEXT_NE_KEEPTOWER_DESTROY },
|
||||
{ BATTLEFIELD_WG_TOWER_SHADOWSIGHT, BATTLEFIELD_WG_TEXT_WESTERN_TOWER_DAMAGE, BATTLEFIELD_WG_TEXT_WESTERN_TOWER_DESTROY },
|
||||
{ BATTLEFIELD_WG_TOWER_WINTER_S_EDGE, BATTLEFIELD_WG_TEXT_SOUTHERN_TOWER_DAMAGE, BATTLEFIELD_WG_TEXT_SOUTHERN_TOWER_DESTROY },
|
||||
{ BATTLEFIELD_WG_TOWER_FLAMEWATCH, BATTLEFIELD_WG_TEXT_EASTERN_TOWER_DAMAGE, BATTLEFIELD_WG_TEXT_EASTERN_TOWER_DESTROY }
|
||||
};
|
||||
|
||||
Position const WGTurret[WG_MAX_TURRET] =
|
||||
{
|
||||
{ 5391.19f, 3060.8f, 419.616f, 1.69557f },
|
||||
{ 5266.75f, 2976.5f, 421.067f, 3.20354f },
|
||||
@@ -657,7 +695,7 @@ const Position WGTurret[WG_MAX_TURRET] =
|
||||
};
|
||||
|
||||
// Here there is all npc keeper spawn point
|
||||
const WintergraspObjectPositionData WGKeepNPC[WG_MAX_KEEP_NPC] =
|
||||
WintergraspObjectPositionData const WGKeepNPC[WG_MAX_KEEP_NPC] =
|
||||
{
|
||||
// X Y Z O horde alliance
|
||||
// North East
|
||||
@@ -735,7 +773,7 @@ struct WintergraspTeleporterData
|
||||
float o;
|
||||
};
|
||||
|
||||
const WintergraspTeleporterData WGPortalDefenderData[WG_MAX_TELEPORTER] =
|
||||
WintergraspTeleporterData const WGPortalDefenderData[WG_MAX_TELEPORTER] =
|
||||
{
|
||||
// Player teleporter
|
||||
{ 190763, 5153.41f, 2901.35f, 409.191f, -0.069f },
|
||||
@@ -1030,67 +1068,70 @@ const WintergraspTowerCannonData TowerCannon[WG_MAX_TOWER_CANNON] =
|
||||
// *****************WorkShop Data & Element*****************
|
||||
// *********************************************************
|
||||
|
||||
struct WGWorkshopData
|
||||
struct StaticWintergraspWorkshopInfo
|
||||
{
|
||||
uint8 id;
|
||||
uint32 worldstate;
|
||||
uint32 text;
|
||||
uint8 WorkshopId;
|
||||
uint32 WorldStateId;
|
||||
|
||||
struct
|
||||
{
|
||||
uint8 AllianceCapture;
|
||||
uint8 AllianceAttack;
|
||||
uint8 HordeCapture;
|
||||
uint8 HordeAttack;
|
||||
} TextIds;
|
||||
};
|
||||
|
||||
const WGWorkshopData WorkshopsData[WG_MAX_WORKSHOP] =
|
||||
StaticWintergraspWorkshopInfo const WorkshopData[WG_MAX_WORKSHOP] =
|
||||
{
|
||||
// NE
|
||||
{BATTLEFIELD_WG_WORKSHOP_NE, WORLDSTATE_WORKSHOP_NE, BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_NE},
|
||||
// NW
|
||||
{BATTLEFIELD_WG_WORKSHOP_NW, WORLDSTATE_WORKSHOP_NW, BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_NW},
|
||||
// SE
|
||||
{BATTLEFIELD_WG_WORKSHOP_SE, WORLDSTATE_WORKSHOP_SE, BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_SE},
|
||||
// SW
|
||||
{BATTLEFIELD_WG_WORKSHOP_SW, WORLDSTATE_WORKSHOP_SW, BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_SW},
|
||||
// KEEP WEST - It can't be taken, so it doesn't have a textid
|
||||
{BATTLEFIELD_WG_WORKSHOP_KEEP_WEST, WORLDSTATE_WORKSHOP_K_W, 0},
|
||||
// KEEP EAST - It can't be taken, so it doesn't have a textid
|
||||
{BATTLEFIELD_WG_WORKSHOP_KEEP_EAST, WORLDSTATE_WORKSHOP_K_E, 0}
|
||||
{ BATTLEFIELD_WG_WORKSHOP_NE, WORLDSTATE_WORKSHOP_NE, { BATTLEFIELD_WG_TEXT_SUNKEN_RING_CAPTURE_ALLIANCE, BATTLEFIELD_WG_TEXT_SUNKEN_RING_ATTACK_ALLIANCE, BATTLEFIELD_WG_TEXT_SUNKEN_RING_CAPTURE_HORDE, BATTLEFIELD_WG_TEXT_SUNKEN_RING_ATTACK_HORDE } },
|
||||
{ BATTLEFIELD_WG_WORKSHOP_NW, WORLDSTATE_WORKSHOP_NW, { BATTLEFIELD_WG_TEXT_BROKEN_TEMPLE_CAPTURE_ALLIANCE, BATTLEFIELD_WG_TEXT_BROKEN_TEMPLE_ATTACK_ALLIANCE, BATTLEFIELD_WG_TEXT_BROKEN_TEMPLE_CAPTURE_HORDE, BATTLEFIELD_WG_TEXT_BROKEN_TEMPLE_ATTACK_HORDE } },
|
||||
{ BATTLEFIELD_WG_WORKSHOP_SE, WORLDSTATE_WORKSHOP_SE, { BATTLEFIELD_WG_TEXT_EASTSPARK_CAPTURE_ALLIANCE, BATTLEFIELD_WG_TEXT_EASTSPARK_ATTACK_ALLIANCE, BATTLEFIELD_WG_TEXT_EASTSPARK_CAPTURE_HORDE, BATTLEFIELD_WG_TEXT_EASTSPARK_ATTACK_HORDE } },
|
||||
{ BATTLEFIELD_WG_WORKSHOP_SW, WORLDSTATE_WORKSHOP_SW, { BATTLEFIELD_WG_TEXT_WESTSPARK_CAPTURE_ALLIANCE, BATTLEFIELD_WG_TEXT_WESTSPARK_ATTACK_ALLIANCE, BATTLEFIELD_WG_TEXT_WESTSPARK_CAPTURE_HORDE, BATTLEFIELD_WG_TEXT_WESTSPARK_ATTACK_HORDE } },
|
||||
// KEEP WORKSHOPS - It can't be taken, so it doesn't have a textids
|
||||
{ BATTLEFIELD_WG_WORKSHOP_KEEP_WEST, WORLDSTATE_WORKSHOP_K_W, { 0, 0, 0, 0 } },
|
||||
{ BATTLEFIELD_WG_WORKSHOP_KEEP_EAST, WORLDSTATE_WORKSHOP_K_E, { 0, 0, 0, 0 } }
|
||||
};
|
||||
|
||||
// ********************************************************************
|
||||
// * Structs using for Building, Graveyard, Workshop *
|
||||
// ********************************************************************
|
||||
|
||||
// Structure for different buildings that can be destroyed during battle
|
||||
struct BfWGGameObjectBuilding
|
||||
{
|
||||
BfWGGameObjectBuilding(BattlefieldWG* wg);
|
||||
|
||||
// the team that controls this point
|
||||
uint8 m_Team;
|
||||
|
||||
private:
|
||||
// WG object
|
||||
BattlefieldWG* m_WG;
|
||||
BattlefieldWG* _wg;
|
||||
|
||||
// Linked gameobject
|
||||
ObjectGuid m_BuildGUID;
|
||||
ObjectGuid _buildGUID;
|
||||
|
||||
// eWGGameObjectBuildingType
|
||||
uint32 m_Type;
|
||||
// the team that controls this point
|
||||
TeamId _teamControl;
|
||||
|
||||
// WorldState
|
||||
uint32 m_WorldState;
|
||||
WintergraspGameObjectBuildingType _type;
|
||||
uint32 _worldState;
|
||||
|
||||
// eWGGameObjectState
|
||||
uint32 m_State;
|
||||
WintergraspGameObjectState _state;
|
||||
|
||||
// Name id for warning text
|
||||
uint32 m_NameId;
|
||||
StaticWintergraspTowerInfo const* _staticTowerInfo;
|
||||
|
||||
// GameObject associations
|
||||
GuidSet m_GameObjectList[2];
|
||||
GuidSet m_GameObjectList[BG_TEAMS_COUNT];
|
||||
|
||||
// Creature associations
|
||||
GuidSet m_CreatureBottomList[2];
|
||||
GuidSet m_CreatureTopList[2];
|
||||
GuidSet m_CreatureBottomList[BG_TEAMS_COUNT];
|
||||
GuidSet m_CreatureTopList[BG_TEAMS_COUNT];
|
||||
GuidSet m_TowerCannonBottomList;
|
||||
GuidSet m_TurretTopList;
|
||||
|
||||
public:
|
||||
BfWGGameObjectBuilding(BattlefieldWG* wg, WintergraspGameObjectBuildingType type, uint32 worldState);
|
||||
void Init(GameObject* go);
|
||||
|
||||
ObjectGuid const& GetGUID() const { return _buildGUID; }
|
||||
|
||||
void Rebuild();
|
||||
|
||||
// Called when associated gameobject is damaged
|
||||
@@ -1099,49 +1140,33 @@ struct BfWGGameObjectBuilding
|
||||
// Called when associated gameobject is destroyed
|
||||
void Destroyed();
|
||||
|
||||
void Init(GameObject* go, uint32 type, uint32 worldstate, uint32 nameId);
|
||||
|
||||
void UpdateCreatureAndGo();
|
||||
|
||||
void UpdateTurretAttack(bool disable);
|
||||
|
||||
void Save();
|
||||
};
|
||||
|
||||
struct WGWorkshop
|
||||
{
|
||||
// pointer to the battlefield that the workshop belongs to
|
||||
BattlefieldWG* bf;
|
||||
// id of the workshop, useful to retrieve data of the WorkshopsData array
|
||||
uint8 workshopId;
|
||||
// team that controls the node
|
||||
uint8 teamControl;
|
||||
// for worldstate
|
||||
uint32 state;
|
||||
|
||||
WGWorkshop(BattlefieldWG* _bf, uint8 _workshopId);
|
||||
|
||||
void GiveControlTo(uint8 team, bool init /*for first call in setup*/);
|
||||
|
||||
void UpdateGraveyardAndWorkshop();
|
||||
void FillInitialWorldStates(WorldPacket& data);
|
||||
|
||||
void Save();
|
||||
};
|
||||
|
||||
// Structure for the 6 workshop
|
||||
struct WintergraspWorkshopData
|
||||
struct WintergraspWorkshop
|
||||
{
|
||||
BattlefieldWG* m_WG; // Pointer to wintergrasp
|
||||
ObjectGuid m_BuildGUID;
|
||||
uint32 m_Type;
|
||||
uint32 m_State; // For worldstate
|
||||
uint32 m_WorldState;
|
||||
uint32 m_TeamControl; // Team witch control the workshop
|
||||
GuidSet m_CreatureOnPoint[2]; // Contain all Creature associate to this point
|
||||
GuidSet m_GameObjectOnPoint[2]; // Contain all Gameobject associate to this point
|
||||
uint32 m_NameId; // Id of trinity_string witch contain name of this node, using for alert message
|
||||
private:
|
||||
BattlefieldWG* _wg; // Pointer to wintergrasp
|
||||
ObjectGuid _buildGUID;
|
||||
WintergraspGameObjectState _state; // For worldstate
|
||||
TeamId _teamControl; // Team witch control the workshop
|
||||
GuidSet _creatureOnPoint[BG_TEAMS_COUNT]; // Contain all Creature associate to this point
|
||||
GuidSet _gameObjectOnPoint[BG_TEAMS_COUNT]; // Contain all Gameobject associate to this point
|
||||
|
||||
WintergraspWorkshopData(BattlefieldWG* wg);
|
||||
StaticWintergraspWorkshopInfo const* _staticInfo;
|
||||
|
||||
public:
|
||||
WintergraspWorkshop(BattlefieldWG* wg, uint8 type);
|
||||
|
||||
uint8 GetId() const { return _staticInfo->WorkshopId; }
|
||||
TeamId GetTeamControl() const { return _teamControl; }
|
||||
|
||||
// Spawning associate creature and store them
|
||||
void AddCreature(WintergraspObjectPositionData const& obj);
|
||||
@@ -1149,14 +1174,13 @@ struct WintergraspWorkshopData
|
||||
// Spawning Associate gameobject and store them
|
||||
void AddGameObject(WintergraspObjectPositionData const& obj);
|
||||
|
||||
// Init method, setup variable
|
||||
void Init(uint32 worldstate, uint32 type, uint32 nameId);
|
||||
|
||||
// Called on change faction in CapturePoint class
|
||||
void GiveControlTo(uint8 team, bool init /*for first call in setup*/);
|
||||
void GiveControlTo(TeamId teamId, bool init = false);
|
||||
|
||||
void UpdateGraveyardAndWorkshop();
|
||||
|
||||
void FillInitialWorldStates(WorldPacket& data);
|
||||
|
||||
void Save();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user