mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
[9880] Prepare world state inint packet data in more clean way.
* Avoid use hardcoded field amount values * Avoid use world state update packets just after world state init packet * Attempt make code look less horrible in general.
This commit is contained in:
parent
d3c34e93c9
commit
fecf6fdb72
18 changed files with 441 additions and 427 deletions
|
|
@ -7976,98 +7976,289 @@ void Player::SendUpdateWorldState(uint32 Field, uint32 Value)
|
|||
GetSession()->SendPacket(&data);
|
||||
}
|
||||
|
||||
static WorldStatePair AV_world_states[] =
|
||||
{
|
||||
{ 0x7ae, 0x1 }, // 7 snowfall n
|
||||
{ 0x532, 0x1 }, // 8 frostwolfhut hc
|
||||
{ 0x531, 0x0 }, // 9 frostwolfhut ac
|
||||
{ 0x52e, 0x0 }, // 10 stormpike firstaid a_a
|
||||
{ 0x571, 0x0 }, // 11 east frostwolf tower horde assaulted -unused
|
||||
{ 0x570, 0x0 }, // 12 west frostwolf tower horde assaulted - unused
|
||||
{ 0x567, 0x1 }, // 13 frostwolfe c
|
||||
{ 0x566, 0x1 }, // 14 frostwolfw c
|
||||
{ 0x550, 0x1 }, // 15 irondeep (N) ally
|
||||
{ 0x544, 0x0 }, // 16 ice grave a_a
|
||||
{ 0x536, 0x0 }, // 17 stormpike grave h_c
|
||||
{ 0x535, 0x1 }, // 18 stormpike grave a_c
|
||||
{ 0x518, 0x0 }, // 19 stoneheart grave a_a
|
||||
{ 0x517, 0x0 }, // 20 stoneheart grave h_a
|
||||
{ 0x574, 0x0 }, // 21 1396 unk
|
||||
{ 0x573, 0x0 }, // 22 iceblood tower horde assaulted -unused
|
||||
{ 0x572, 0x0 }, // 23 towerpoint horde assaulted - unused
|
||||
{ 0x56f, 0x0 }, // 24 1391 unk
|
||||
{ 0x56e, 0x0 }, // 25 iceblood a
|
||||
{ 0x56d, 0x0 }, // 26 towerp a
|
||||
{ 0x56c, 0x0 }, // 27 frostwolfe a
|
||||
{ 0x56b, 0x0 }, // 28 froswolfw a
|
||||
{ 0x56a, 0x1 }, // 29 1386 unk
|
||||
{ 0x569, 0x1 }, // 30 iceblood c
|
||||
{ 0x568, 0x1 }, // 31 towerp c
|
||||
{ 0x565, 0x0 }, // 32 stoneh tower a
|
||||
{ 0x564, 0x0 }, // 33 icewing tower a
|
||||
{ 0x563, 0x0 }, // 34 dunn a
|
||||
{ 0x562, 0x0 }, // 35 duns a
|
||||
{ 0x561, 0x0 }, // 36 stoneheart bunker alliance assaulted - unused
|
||||
{ 0x560, 0x0 }, // 37 icewing bunker alliance assaulted - unused
|
||||
{ 0x55f, 0x0 }, // 38 dunbaldar south alliance assaulted - unused
|
||||
{ 0x55e, 0x0 }, // 39 dunbaldar north alliance assaulted - unused
|
||||
{ 0x55d, 0x0 }, // 40 stone tower d
|
||||
{ 0x3c6, 0x0 }, // 41 966 unk
|
||||
{ 0x3c4, 0x0 }, // 42 964 unk
|
||||
{ 0x3c2, 0x0 }, // 43 962 unk
|
||||
{ 0x516, 0x1 }, // 44 stoneheart grave a_c
|
||||
{ 0x515, 0x0 }, // 45 stonheart grave h_c
|
||||
{ 0x3b6, 0x0 }, // 46 950 unk
|
||||
{ 0x55c, 0x0 }, // 47 icewing tower d
|
||||
{ 0x55b, 0x0 }, // 48 dunn d
|
||||
{ 0x55a, 0x0 }, // 49 duns d
|
||||
{ 0x559, 0x0 }, // 50 1369 unk
|
||||
{ 0x558, 0x0 }, // 51 iceblood d
|
||||
{ 0x557, 0x0 }, // 52 towerp d
|
||||
{ 0x556, 0x0 }, // 53 frostwolfe d
|
||||
{ 0x555, 0x0 }, // 54 frostwolfw d
|
||||
{ 0x554, 0x1 }, // 55 stoneh tower c
|
||||
{ 0x553, 0x1 }, // 56 icewing tower c
|
||||
{ 0x552, 0x1 }, // 57 dunn c
|
||||
{ 0x551, 0x1 }, // 58 duns c
|
||||
{ 0x54f, 0x0 }, // 59 irondeep (N) horde
|
||||
{ 0x54e, 0x0 }, // 60 irondeep (N) ally
|
||||
{ 0x54d, 0x1 }, // 61 mine (S) neutral
|
||||
{ 0x54c, 0x0 }, // 62 mine (S) horde
|
||||
{ 0x54b, 0x0 }, // 63 mine (S) ally
|
||||
{ 0x545, 0x0 }, // 64 iceblood h_a
|
||||
{ 0x543, 0x1 }, // 65 iceblod h_c
|
||||
{ 0x542, 0x0 }, // 66 iceblood a_c
|
||||
{ 0x540, 0x0 }, // 67 snowfall h_a
|
||||
{ 0x53f, 0x0 }, // 68 snowfall a_a
|
||||
{ 0x53e, 0x0 }, // 69 snowfall h_c
|
||||
{ 0x53d, 0x0 }, // 70 snowfall a_c
|
||||
{ 0x53c, 0x0 }, // 71 frostwolf g h_a
|
||||
{ 0x53b, 0x0 }, // 72 frostwolf g a_a
|
||||
{ 0x53a, 0x1 }, // 73 frostwolf g h_c
|
||||
{ 0x539, 0x0 }, // 74 frostwolf g a_c
|
||||
{ 0x538, 0x0 }, // 75 stormpike grave h_a
|
||||
{ 0x537, 0x0 }, // 76 stormpike grave a_a
|
||||
{ 0x534, 0x0 }, // 77 frostwolf hut h_a
|
||||
{ 0x533, 0x0 }, // 78 frostwolf hut a_a
|
||||
{ 0x530, 0x0 }, // 79 stormpike first aid h_a
|
||||
{ 0x52f, 0x0 }, // 80 stormpike first aid h_c
|
||||
{ 0x52d, 0x1 }, // 81 stormpike first aid a_c
|
||||
{ 0x0, 0x0 }
|
||||
};
|
||||
|
||||
static WorldStatePair WS_world_states[] =
|
||||
{
|
||||
{ 0x62d, 0x0 }, // 7 1581 alliance flag captures
|
||||
{ 0x62e, 0x0 }, // 8 1582 horde flag captures
|
||||
{ 0x609, 0x0 }, // 9 1545 unk, set to 1 on alliance flag pickup...
|
||||
{ 0x60a, 0x0 }, // 10 1546 unk, set to 1 on horde flag pickup, after drop it's -1
|
||||
{ 0x60b, 0x2 }, // 11 1547 unk
|
||||
{ 0x641, 0x3 }, // 12 1601 unk (max flag captures?)
|
||||
{ 0x922, 0x1 }, // 13 2338 horde (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
|
||||
{ 0x923, 0x1 }, // 14 2339 alliance (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
|
||||
{ 0x0, 0x0 }
|
||||
};
|
||||
|
||||
static WorldStatePair AB_world_states[] =
|
||||
{
|
||||
{ 0x6e7, 0x0 }, // 7 1767 stables alliance
|
||||
{ 0x6e8, 0x0 }, // 8 1768 stables horde
|
||||
{ 0x6e9, 0x0 }, // 9 1769 unk, ST?
|
||||
{ 0x6ea, 0x0 }, // 10 1770 stables (show/hide)
|
||||
{ 0x6ec, 0x0 }, // 11 1772 farm (0 - horde controlled, 1 - alliance controlled)
|
||||
{ 0x6ed, 0x0 }, // 12 1773 farm (show/hide)
|
||||
{ 0x6ee, 0x0 }, // 13 1774 farm color
|
||||
{ 0x6ef, 0x0 }, // 14 1775 gold mine color, may be FM?
|
||||
{ 0x6f0, 0x0 }, // 15 1776 alliance resources
|
||||
{ 0x6f1, 0x0 }, // 16 1777 horde resources
|
||||
{ 0x6f2, 0x0 }, // 17 1778 horde bases
|
||||
{ 0x6f3, 0x0 }, // 18 1779 alliance bases
|
||||
{ 0x6f4, 0x7d0 }, // 19 1780 max resources (2000)
|
||||
{ 0x6f6, 0x0 }, // 20 1782 blacksmith color
|
||||
{ 0x6f7, 0x0 }, // 21 1783 blacksmith (show/hide)
|
||||
{ 0x6f8, 0x0 }, // 22 1784 unk, bs?
|
||||
{ 0x6f9, 0x0 }, // 23 1785 unk, bs?
|
||||
{ 0x6fb, 0x0 }, // 24 1787 gold mine (0 - horde contr, 1 - alliance contr)
|
||||
{ 0x6fc, 0x0 }, // 25 1788 gold mine (0 - conflict, 1 - horde)
|
||||
{ 0x6fd, 0x0 }, // 26 1789 gold mine (1 - show/0 - hide)
|
||||
{ 0x6fe, 0x0 }, // 27 1790 gold mine color
|
||||
{ 0x700, 0x0 }, // 28 1792 gold mine color, wtf?, may be LM?
|
||||
{ 0x701, 0x0 }, // 29 1793 lumber mill color (0 - conflict, 1 - horde contr)
|
||||
{ 0x702, 0x0 }, // 30 1794 lumber mill (show/hide)
|
||||
{ 0x703, 0x0 }, // 31 1795 lumber mill color color
|
||||
{ 0x732, 0x1 }, // 32 1842 stables (1 - uncontrolled)
|
||||
{ 0x733, 0x1 }, // 33 1843 gold mine (1 - uncontrolled)
|
||||
{ 0x734, 0x1 }, // 34 1844 lumber mill (1 - uncontrolled)
|
||||
{ 0x735, 0x1 }, // 35 1845 farm (1 - uncontrolled)
|
||||
{ 0x736, 0x1 }, // 36 1846 blacksmith (1 - uncontrolled)
|
||||
{ 0x745, 0x2 }, // 37 1861 unk
|
||||
{ 0x7a3, 0x708 }, // 38 1955 warning limit (1800)
|
||||
{ 0x0, 0x0 }
|
||||
};
|
||||
|
||||
static WorldStatePair EY_world_states[] =
|
||||
{
|
||||
{ 0xac1, 0x0 }, // 7 2753 Horde Bases
|
||||
{ 0xac0, 0x0 }, // 8 2752 Alliance Bases
|
||||
{ 0xab6, 0x0 }, // 9 2742 Mage Tower - Horde conflict
|
||||
{ 0xab5, 0x0 }, // 10 2741 Mage Tower - Alliance conflict
|
||||
{ 0xab4, 0x0 }, // 11 2740 Fel Reaver - Horde conflict
|
||||
{ 0xab3, 0x0 }, // 12 2739 Fel Reaver - Alliance conflict
|
||||
{ 0xab2, 0x0 }, // 13 2738 Draenei - Alliance conflict
|
||||
{ 0xab1, 0x0 }, // 14 2737 Draenei - Horde conflict
|
||||
{ 0xab0, 0x0 }, // 15 2736 unk // 0 at start
|
||||
{ 0xaaf, 0x0 }, // 16 2735 unk // 0 at start
|
||||
{ 0xaad, 0x0 }, // 17 2733 Draenei - Horde control
|
||||
{ 0xaac, 0x0 }, // 18 2732 Draenei - Alliance control
|
||||
{ 0xaab, 0x1 }, // 19 2731 Draenei uncontrolled (1 - yes, 0 - no)
|
||||
{ 0xaaa, 0x0 }, // 20 2730 Mage Tower - Alliance control
|
||||
{ 0xaa9, 0x0 }, // 21 2729 Mage Tower - Horde control
|
||||
{ 0xaa8, 0x1 }, // 22 2728 Mage Tower uncontrolled (1 - yes, 0 - no)
|
||||
{ 0xaa7, 0x0 }, // 23 2727 Fel Reaver - Horde control
|
||||
{ 0xaa6, 0x0 }, // 24 2726 Fel Reaver - Alliance control
|
||||
{ 0xaa5, 0x1 }, // 25 2725 Fel Reaver uncontrolled (1 - yes, 0 - no)
|
||||
{ 0xaa4, 0x0 }, // 26 2724 Boold Elf - Horde control
|
||||
{ 0xaa3, 0x0 }, // 27 2723 Boold Elf - Alliance control
|
||||
{ 0xaa2, 0x1 }, // 28 2722 Boold Elf uncontrolled (1 - yes, 0 - no)
|
||||
{ 0xac5, 0x1 }, // 29 2757 Flag (1 - show, 0 - hide) - doesn't work exactly this way!
|
||||
{ 0xad2, 0x1 }, // 30 2770 Horde top-stats (1 - show, 0 - hide) // 02 -> horde picked up the flag
|
||||
{ 0xad1, 0x1 }, // 31 2769 Alliance top-stats (1 - show, 0 - hide) // 02 -> alliance picked up the flag
|
||||
{ 0xabe, 0x0 }, // 32 2750 Horde resources
|
||||
{ 0xabd, 0x0 }, // 33 2749 Alliance resources
|
||||
{ 0xa05, 0x8e }, // 34 2565 unk, constant?
|
||||
{ 0xaa0, 0x0 }, // 35 2720 Capturing progress-bar (100 -> empty (only grey), 0 -> blue|red (no grey), default 0)
|
||||
{ 0xa9f, 0x0 }, // 36 2719 Capturing progress-bar (0 - left, 100 - right)
|
||||
{ 0xa9e, 0x0 }, // 37 2718 Capturing progress-bar (1 - show, 0 - hide)
|
||||
{ 0xc0d, 0x17b }, // 38 3085 unk
|
||||
// and some more ... unknown
|
||||
{ 0x0, 0x0 }
|
||||
};
|
||||
|
||||
static WorldStatePair HP_world_states[] = // Hellfire Peninsula
|
||||
{
|
||||
{ 0x9ba, 0x1 }, // 10
|
||||
{ 0x9b9, 0x1 }, // 11
|
||||
{ 0x9b5, 0x0 }, // 12
|
||||
{ 0x9b4, 0x1 }, // 13
|
||||
{ 0x9b3, 0x0 }, // 14
|
||||
{ 0x9b2, 0x0 }, // 15
|
||||
{ 0x9b1, 0x1 }, // 16
|
||||
{ 0x9b0, 0x0 }, // 17
|
||||
{ 0x9ae, 0x0 }, // 18 horde pvp objectives captured
|
||||
{ 0x9ac, 0x0 }, // 19
|
||||
{ 0x9a8, 0x0 }, // 20
|
||||
{ 0x9a7, 0x0 }, // 21
|
||||
{ 0x9a6, 0x1 }, // 22
|
||||
{ 0x0, 0x0 }
|
||||
};
|
||||
|
||||
static WorldStatePair TF_world_states[] = // Terokkar Forest
|
||||
{
|
||||
{ 0xa41, 0x0 }, // 10
|
||||
{ 0xa40, 0x14 }, // 11
|
||||
{ 0xa3f, 0x0 }, // 12
|
||||
{ 0xa3e, 0x0 }, // 13
|
||||
{ 0xa3d, 0x5 }, // 14
|
||||
{ 0xa3c, 0x0 }, // 15
|
||||
{ 0xa87, 0x0 }, // 16
|
||||
{ 0xa86, 0x0 }, // 17
|
||||
{ 0xa85, 0x0 }, // 18
|
||||
{ 0xa84, 0x0 }, // 19
|
||||
{ 0xa83, 0x0 }, // 20
|
||||
{ 0xa82, 0x0 }, // 21
|
||||
{ 0xa81, 0x0 }, // 22
|
||||
{ 0xa80, 0x0 }, // 23
|
||||
{ 0xa7e, 0x0 }, // 24
|
||||
{ 0xa7d, 0x0 }, // 25
|
||||
{ 0xa7c, 0x0 }, // 26
|
||||
{ 0xa7b, 0x0 }, // 27
|
||||
{ 0xa7a, 0x0 }, // 28
|
||||
{ 0xa79, 0x0 }, // 29
|
||||
{ 0x9d0, 0x5 }, // 30
|
||||
{ 0x9ce, 0x0 }, // 31
|
||||
{ 0x9cd, 0x0 }, // 32
|
||||
{ 0x9cc, 0x0 }, // 33
|
||||
{ 0xa88, 0x0 }, // 34
|
||||
{ 0xad0, 0x0 }, // 35
|
||||
{ 0xacf, 0x1 }, // 36
|
||||
{ 0x0, 0x0 }
|
||||
};
|
||||
|
||||
static WorldStatePair ZM_world_states[] = // Terokkar Forest
|
||||
{
|
||||
{ 0x9e1, 0x0 }, // 10
|
||||
{ 0x9e0, 0x0 }, // 11
|
||||
{ 0x9df, 0x0 }, // 12
|
||||
{ 0xa5d, 0x1 }, // 13
|
||||
{ 0xa5c, 0x0 }, // 14
|
||||
{ 0xa5b, 0x1 }, // 15
|
||||
{ 0xa5a, 0x0 }, // 16
|
||||
{ 0xa59, 0x1 }, // 17
|
||||
{ 0xa58, 0x0 }, // 18
|
||||
{ 0xa57, 0x0 }, // 19
|
||||
{ 0xa56, 0x0 }, // 20
|
||||
{ 0xa55, 0x1 }, // 21
|
||||
{ 0xa54, 0x0 }, // 22
|
||||
{ 0x9e7, 0x0 }, // 23
|
||||
{ 0x9e6, 0x0 }, // 24
|
||||
{ 0x9e5, 0x0 }, // 25
|
||||
{ 0xa00, 0x0 }, // 26
|
||||
{ 0x9ff, 0x1 }, // 27
|
||||
{ 0x9fe, 0x0 }, // 28
|
||||
{ 0x9fd, 0x0 }, // 29
|
||||
{ 0x9fc, 0x1 }, // 30
|
||||
{ 0x9fb, 0x0 }, // 31
|
||||
{ 0xa62, 0x0 }, // 32
|
||||
{ 0xa61, 0x1 }, // 33
|
||||
{ 0xa60, 0x1 }, // 34
|
||||
{ 0xa5f, 0x0 }, // 35
|
||||
{ 0x0, 0x0 }
|
||||
};
|
||||
|
||||
void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid)
|
||||
{
|
||||
// data depends on zoneid/mapid...
|
||||
BattleGround* bg = GetBattleGround();
|
||||
uint16 NumberOfFields = 0;
|
||||
uint32 mapid = GetMapId();
|
||||
|
||||
DEBUG_LOG("Sending SMSG_INIT_WORLD_STATES to Map:%u, Zone: %u", mapid, zoneid);
|
||||
|
||||
// may be exist better way to do this...
|
||||
switch(zoneid)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
case 4:
|
||||
case 8:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 36:
|
||||
case 38:
|
||||
case 40:
|
||||
case 41:
|
||||
case 51:
|
||||
case 267:
|
||||
case 1519:
|
||||
case 1537:
|
||||
case 2257:
|
||||
case 2918:
|
||||
NumberOfFields = 8;
|
||||
break;
|
||||
case 139:
|
||||
NumberOfFields = 41;
|
||||
break;
|
||||
case 1377:
|
||||
NumberOfFields = 15;
|
||||
break;
|
||||
case 2597:
|
||||
NumberOfFields = 83;
|
||||
break;
|
||||
case 3277:
|
||||
NumberOfFields = 16;
|
||||
break;
|
||||
case 3358:
|
||||
case 3820:
|
||||
NumberOfFields = 40;
|
||||
break;
|
||||
case 3483:
|
||||
NumberOfFields = 27;
|
||||
break;
|
||||
case 3518:
|
||||
NumberOfFields = 39;
|
||||
break;
|
||||
case 3519:
|
||||
NumberOfFields = 38;
|
||||
break;
|
||||
case 3521:
|
||||
NumberOfFields = 37;
|
||||
break;
|
||||
case 3698:
|
||||
case 3702:
|
||||
case 3968:
|
||||
NumberOfFields = 11;
|
||||
break;
|
||||
case 3703:
|
||||
NumberOfFields = 11;
|
||||
break;
|
||||
default:
|
||||
NumberOfFields = 12;
|
||||
break;
|
||||
}
|
||||
uint32 count = 0; // count of world states in packet
|
||||
|
||||
WorldPacket data(SMSG_INIT_WORLD_STATES, (4+4+4+2+(NumberOfFields*8)));
|
||||
WorldPacket data(SMSG_INIT_WORLD_STATES, (4+4+4+2+8*8));// guess
|
||||
data << uint32(mapid); // mapid
|
||||
data << uint32(zoneid); // zone id
|
||||
data << uint32(areaid); // area id, new 2.1.0
|
||||
data << uint16(NumberOfFields); // count of uint64 blocks
|
||||
data << uint32(0x8d8) << uint32(0x0); // 1
|
||||
data << uint32(0x8d7) << uint32(0x0); // 2
|
||||
data << uint32(0x8d6) << uint32(0x0); // 3
|
||||
data << uint32(0x8d5) << uint32(0x0); // 4
|
||||
data << uint32(0x8d4) << uint32(0x0); // 5
|
||||
data << uint32(0x8d3) << uint32(0x0); // 6
|
||||
size_t count_pos = data.wpos();
|
||||
data << uint16(0); // count of uint64 blocks, placeholder
|
||||
|
||||
// common fields
|
||||
FillInitialWorldState(data, count, 0x8d8, 0x0); // 1
|
||||
FillInitialWorldState(data, count, 0x8d7, 0x0); // 2
|
||||
FillInitialWorldState(data, count, 0x8d6, 0x0); // 3
|
||||
FillInitialWorldState(data, count, 0x8d5, 0x0); // 4
|
||||
FillInitialWorldState(data, count, 0x8d4, 0x0); // 5
|
||||
FillInitialWorldState(data, count, 0x8d3, 0x0); // 6
|
||||
// 7 1 - Arena season in progress, 0 - end of season
|
||||
data << uint32(0xC77) << uint32(sWorld.getConfig(CONFIG_BOOL_ARENA_SEASON_IN_PROGRESS));
|
||||
FillInitialWorldState(data, count, 0xC77, sWorld.getConfig(CONFIG_BOOL_ARENA_SEASON_IN_PROGRESS));
|
||||
// 8 Arena season id
|
||||
data << uint32(0xF3D) << uint32(sWorld.getConfig(CONFIG_UINT32_ARENA_SEASON_ID));
|
||||
FillInitialWorldState(data, count, 0xF3D, sWorld.getConfig(CONFIG_UINT32_ARENA_SEASON_ID));
|
||||
|
||||
if(mapid == 530) // Outland
|
||||
{
|
||||
data << uint32(0x9bf) << uint32(0x0); // 7
|
||||
data << uint32(0x9bd) << uint32(0xF); // 8
|
||||
data << uint32(0x9bb) << uint32(0xF); // 9
|
||||
FillInitialWorldState(data, count, 0x9bf, 0x0);
|
||||
FillInitialWorldState(data, count, 0x9bd, 0xF);
|
||||
FillInitialWorldState(data, count, 0x9bb, 0xF);
|
||||
}
|
||||
switch(zoneid)
|
||||
{
|
||||
|
|
@ -8083,297 +8274,86 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid)
|
|||
break;
|
||||
case 2597: // AV
|
||||
if (bg && bg->GetTypeID() == BATTLEGROUND_AV)
|
||||
bg->FillInitialWorldStates(data);
|
||||
bg->FillInitialWorldStates(data, count);
|
||||
else
|
||||
{
|
||||
data << uint32(0x7ae) << uint32(0x1); // 7 snowfall n
|
||||
data << uint32(0x532) << uint32(0x1); // 8 frostwolfhut hc
|
||||
data << uint32(0x531) << uint32(0x0); // 9 frostwolfhut ac
|
||||
data << uint32(0x52e) << uint32(0x0); // 10 stormpike firstaid a_a
|
||||
data << uint32(0x571) << uint32(0x0); // 11 east frostwolf tower horde assaulted -unused
|
||||
data << uint32(0x570) << uint32(0x0); // 12 west frostwolf tower horde assaulted - unused
|
||||
data << uint32(0x567) << uint32(0x1); // 13 frostwolfe c
|
||||
data << uint32(0x566) << uint32(0x1); // 14 frostwolfw c
|
||||
data << uint32(0x550) << uint32(0x1); // 15 irondeep (N) ally
|
||||
data << uint32(0x544) << uint32(0x0); // 16 ice grave a_a
|
||||
data << uint32(0x536) << uint32(0x0); // 17 stormpike grave h_c
|
||||
data << uint32(0x535) << uint32(0x1); // 18 stormpike grave a_c
|
||||
data << uint32(0x518) << uint32(0x0); // 19 stoneheart grave a_a
|
||||
data << uint32(0x517) << uint32(0x0); // 20 stoneheart grave h_a
|
||||
data << uint32(0x574) << uint32(0x0); // 21 1396 unk
|
||||
data << uint32(0x573) << uint32(0x0); // 22 iceblood tower horde assaulted -unused
|
||||
data << uint32(0x572) << uint32(0x0); // 23 towerpoint horde assaulted - unused
|
||||
data << uint32(0x56f) << uint32(0x0); // 24 1391 unk
|
||||
data << uint32(0x56e) << uint32(0x0); // 25 iceblood a
|
||||
data << uint32(0x56d) << uint32(0x0); // 26 towerp a
|
||||
data << uint32(0x56c) << uint32(0x0); // 27 frostwolfe a
|
||||
data << uint32(0x56b) << uint32(0x0); // 28 froswolfw a
|
||||
data << uint32(0x56a) << uint32(0x1); // 29 1386 unk
|
||||
data << uint32(0x569) << uint32(0x1); // 30 iceblood c
|
||||
data << uint32(0x568) << uint32(0x1); // 31 towerp c
|
||||
data << uint32(0x565) << uint32(0x0); // 32 stoneh tower a
|
||||
data << uint32(0x564) << uint32(0x0); // 33 icewing tower a
|
||||
data << uint32(0x563) << uint32(0x0); // 34 dunn a
|
||||
data << uint32(0x562) << uint32(0x0); // 35 duns a
|
||||
data << uint32(0x561) << uint32(0x0); // 36 stoneheart bunker alliance assaulted - unused
|
||||
data << uint32(0x560) << uint32(0x0); // 37 icewing bunker alliance assaulted - unused
|
||||
data << uint32(0x55f) << uint32(0x0); // 38 dunbaldar south alliance assaulted - unused
|
||||
data << uint32(0x55e) << uint32(0x0); // 39 dunbaldar north alliance assaulted - unused
|
||||
data << uint32(0x55d) << uint32(0x0); // 40 stone tower d
|
||||
data << uint32(0x3c6) << uint32(0x0); // 41 966 unk
|
||||
data << uint32(0x3c4) << uint32(0x0); // 42 964 unk
|
||||
data << uint32(0x3c2) << uint32(0x0); // 43 962 unk
|
||||
data << uint32(0x516) << uint32(0x1); // 44 stoneheart grave a_c
|
||||
data << uint32(0x515) << uint32(0x0); // 45 stonheart grave h_c
|
||||
data << uint32(0x3b6) << uint32(0x0); // 46 950 unk
|
||||
data << uint32(0x55c) << uint32(0x0); // 47 icewing tower d
|
||||
data << uint32(0x55b) << uint32(0x0); // 48 dunn d
|
||||
data << uint32(0x55a) << uint32(0x0); // 49 duns d
|
||||
data << uint32(0x559) << uint32(0x0); // 50 1369 unk
|
||||
data << uint32(0x558) << uint32(0x0); // 51 iceblood d
|
||||
data << uint32(0x557) << uint32(0x0); // 52 towerp d
|
||||
data << uint32(0x556) << uint32(0x0); // 53 frostwolfe d
|
||||
data << uint32(0x555) << uint32(0x0); // 54 frostwolfw d
|
||||
data << uint32(0x554) << uint32(0x1); // 55 stoneh tower c
|
||||
data << uint32(0x553) << uint32(0x1); // 56 icewing tower c
|
||||
data << uint32(0x552) << uint32(0x1); // 57 dunn c
|
||||
data << uint32(0x551) << uint32(0x1); // 58 duns c
|
||||
data << uint32(0x54f) << uint32(0x0); // 59 irondeep (N) horde
|
||||
data << uint32(0x54e) << uint32(0x0); // 60 irondeep (N) ally
|
||||
data << uint32(0x54d) << uint32(0x1); // 61 mine (S) neutral
|
||||
data << uint32(0x54c) << uint32(0x0); // 62 mine (S) horde
|
||||
data << uint32(0x54b) << uint32(0x0); // 63 mine (S) ally
|
||||
data << uint32(0x545) << uint32(0x0); // 64 iceblood h_a
|
||||
data << uint32(0x543) << uint32(0x1); // 65 iceblod h_c
|
||||
data << uint32(0x542) << uint32(0x0); // 66 iceblood a_c
|
||||
data << uint32(0x540) << uint32(0x0); // 67 snowfall h_a
|
||||
data << uint32(0x53f) << uint32(0x0); // 68 snowfall a_a
|
||||
data << uint32(0x53e) << uint32(0x0); // 69 snowfall h_c
|
||||
data << uint32(0x53d) << uint32(0x0); // 70 snowfall a_c
|
||||
data << uint32(0x53c) << uint32(0x0); // 71 frostwolf g h_a
|
||||
data << uint32(0x53b) << uint32(0x0); // 72 frostwolf g a_a
|
||||
data << uint32(0x53a) << uint32(0x1); // 73 frostwolf g h_c
|
||||
data << uint32(0x539) << uint32(0x0); // 74 frostwolf g a_c
|
||||
data << uint32(0x538) << uint32(0x0); // 75 stormpike grave h_a
|
||||
data << uint32(0x537) << uint32(0x0); // 76 stormpike grave a_a
|
||||
data << uint32(0x534) << uint32(0x0); // 77 frostwolf hut h_a
|
||||
data << uint32(0x533) << uint32(0x0); // 78 frostwolf hut a_a
|
||||
data << uint32(0x530) << uint32(0x0); // 79 stormpike first aid h_a
|
||||
data << uint32(0x52f) << uint32(0x0); // 80 stormpike first aid h_c
|
||||
data << uint32(0x52d) << uint32(0x1); // 81 stormpike first aid a_c
|
||||
}
|
||||
FillInitialWorldState(data,count, AV_world_states);
|
||||
break;
|
||||
case 3277: // WS
|
||||
if (bg && bg->GetTypeID() == BATTLEGROUND_WS)
|
||||
bg->FillInitialWorldStates(data);
|
||||
bg->FillInitialWorldStates(data, count);
|
||||
else
|
||||
{
|
||||
data << uint32(0x62d) << uint32(0x0); // 7 1581 alliance flag captures
|
||||
data << uint32(0x62e) << uint32(0x0); // 8 1582 horde flag captures
|
||||
data << uint32(0x609) << uint32(0x0); // 9 1545 unk, set to 1 on alliance flag pickup...
|
||||
data << uint32(0x60a) << uint32(0x0); // 10 1546 unk, set to 1 on horde flag pickup, after drop it's -1
|
||||
data << uint32(0x60b) << uint32(0x2); // 11 1547 unk
|
||||
data << uint32(0x641) << uint32(0x3); // 12 1601 unk (max flag captures?)
|
||||
data << uint32(0x922) << uint32(0x1); // 13 2338 horde (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
|
||||
data << uint32(0x923) << uint32(0x1); // 14 2339 alliance (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
|
||||
}
|
||||
FillInitialWorldState(data,count, WS_world_states);
|
||||
break;
|
||||
case 3358: // AB
|
||||
if (bg && bg->GetTypeID() == BATTLEGROUND_AB)
|
||||
bg->FillInitialWorldStates(data);
|
||||
bg->FillInitialWorldStates(data, count);
|
||||
else
|
||||
{
|
||||
data << uint32(0x6e7) << uint32(0x0); // 7 1767 stables alliance
|
||||
data << uint32(0x6e8) << uint32(0x0); // 8 1768 stables horde
|
||||
data << uint32(0x6e9) << uint32(0x0); // 9 1769 unk, ST?
|
||||
data << uint32(0x6ea) << uint32(0x0); // 10 1770 stables (show/hide)
|
||||
data << uint32(0x6ec) << uint32(0x0); // 11 1772 farm (0 - horde controlled, 1 - alliance controlled)
|
||||
data << uint32(0x6ed) << uint32(0x0); // 12 1773 farm (show/hide)
|
||||
data << uint32(0x6ee) << uint32(0x0); // 13 1774 farm color
|
||||
data << uint32(0x6ef) << uint32(0x0); // 14 1775 gold mine color, may be FM?
|
||||
data << uint32(0x6f0) << uint32(0x0); // 15 1776 alliance resources
|
||||
data << uint32(0x6f1) << uint32(0x0); // 16 1777 horde resources
|
||||
data << uint32(0x6f2) << uint32(0x0); // 17 1778 horde bases
|
||||
data << uint32(0x6f3) << uint32(0x0); // 18 1779 alliance bases
|
||||
data << uint32(0x6f4) << uint32(0x7d0); // 19 1780 max resources (2000)
|
||||
data << uint32(0x6f6) << uint32(0x0); // 20 1782 blacksmith color
|
||||
data << uint32(0x6f7) << uint32(0x0); // 21 1783 blacksmith (show/hide)
|
||||
data << uint32(0x6f8) << uint32(0x0); // 22 1784 unk, bs?
|
||||
data << uint32(0x6f9) << uint32(0x0); // 23 1785 unk, bs?
|
||||
data << uint32(0x6fb) << uint32(0x0); // 24 1787 gold mine (0 - horde contr, 1 - alliance contr)
|
||||
data << uint32(0x6fc) << uint32(0x0); // 25 1788 gold mine (0 - conflict, 1 - horde)
|
||||
data << uint32(0x6fd) << uint32(0x0); // 26 1789 gold mine (1 - show/0 - hide)
|
||||
data << uint32(0x6fe) << uint32(0x0); // 27 1790 gold mine color
|
||||
data << uint32(0x700) << uint32(0x0); // 28 1792 gold mine color, wtf?, may be LM?
|
||||
data << uint32(0x701) << uint32(0x0); // 29 1793 lumber mill color (0 - conflict, 1 - horde contr)
|
||||
data << uint32(0x702) << uint32(0x0); // 30 1794 lumber mill (show/hide)
|
||||
data << uint32(0x703) << uint32(0x0); // 31 1795 lumber mill color color
|
||||
data << uint32(0x732) << uint32(0x1); // 32 1842 stables (1 - uncontrolled)
|
||||
data << uint32(0x733) << uint32(0x1); // 33 1843 gold mine (1 - uncontrolled)
|
||||
data << uint32(0x734) << uint32(0x1); // 34 1844 lumber mill (1 - uncontrolled)
|
||||
data << uint32(0x735) << uint32(0x1); // 35 1845 farm (1 - uncontrolled)
|
||||
data << uint32(0x736) << uint32(0x1); // 36 1846 blacksmith (1 - uncontrolled)
|
||||
data << uint32(0x745) << uint32(0x2); // 37 1861 unk
|
||||
data << uint32(0x7a3) << uint32(0x708); // 38 1955 warning limit (1800)
|
||||
}
|
||||
FillInitialWorldState(data,count, AB_world_states);
|
||||
break;
|
||||
case 3820: // EY
|
||||
if (bg && bg->GetTypeID() == BATTLEGROUND_EY)
|
||||
bg->FillInitialWorldStates(data);
|
||||
bg->FillInitialWorldStates(data, count);
|
||||
else
|
||||
{
|
||||
data << uint32(0xac1) << uint32(0x0); // 7 2753 Horde Bases
|
||||
data << uint32(0xac0) << uint32(0x0); // 8 2752 Alliance Bases
|
||||
data << uint32(0xab6) << uint32(0x0); // 9 2742 Mage Tower - Horde conflict
|
||||
data << uint32(0xab5) << uint32(0x0); // 10 2741 Mage Tower - Alliance conflict
|
||||
data << uint32(0xab4) << uint32(0x0); // 11 2740 Fel Reaver - Horde conflict
|
||||
data << uint32(0xab3) << uint32(0x0); // 12 2739 Fel Reaver - Alliance conflict
|
||||
data << uint32(0xab2) << uint32(0x0); // 13 2738 Draenei - Alliance conflict
|
||||
data << uint32(0xab1) << uint32(0x0); // 14 2737 Draenei - Horde conflict
|
||||
data << uint32(0xab0) << uint32(0x0); // 15 2736 unk // 0 at start
|
||||
data << uint32(0xaaf) << uint32(0x0); // 16 2735 unk // 0 at start
|
||||
data << uint32(0xaad) << uint32(0x0); // 17 2733 Draenei - Horde control
|
||||
data << uint32(0xaac) << uint32(0x0); // 18 2732 Draenei - Alliance control
|
||||
data << uint32(0xaab) << uint32(0x1); // 19 2731 Draenei uncontrolled (1 - yes, 0 - no)
|
||||
data << uint32(0xaaa) << uint32(0x0); // 20 2730 Mage Tower - Alliance control
|
||||
data << uint32(0xaa9) << uint32(0x0); // 21 2729 Mage Tower - Horde control
|
||||
data << uint32(0xaa8) << uint32(0x1); // 22 2728 Mage Tower uncontrolled (1 - yes, 0 - no)
|
||||
data << uint32(0xaa7) << uint32(0x0); // 23 2727 Fel Reaver - Horde control
|
||||
data << uint32(0xaa6) << uint32(0x0); // 24 2726 Fel Reaver - Alliance control
|
||||
data << uint32(0xaa5) << uint32(0x1); // 25 2725 Fel Reaver uncontrolled (1 - yes, 0 - no)
|
||||
data << uint32(0xaa4) << uint32(0x0); // 26 2724 Boold Elf - Horde control
|
||||
data << uint32(0xaa3) << uint32(0x0); // 27 2723 Boold Elf - Alliance control
|
||||
data << uint32(0xaa2) << uint32(0x1); // 28 2722 Boold Elf uncontrolled (1 - yes, 0 - no)
|
||||
data << uint32(0xac5) << uint32(0x1); // 29 2757 Flag (1 - show, 0 - hide) - doesn't work exactly this way!
|
||||
data << uint32(0xad2) << uint32(0x1); // 30 2770 Horde top-stats (1 - show, 0 - hide) // 02 -> horde picked up the flag
|
||||
data << uint32(0xad1) << uint32(0x1); // 31 2769 Alliance top-stats (1 - show, 0 - hide) // 02 -> alliance picked up the flag
|
||||
data << uint32(0xabe) << uint32(0x0); // 32 2750 Horde resources
|
||||
data << uint32(0xabd) << uint32(0x0); // 33 2749 Alliance resources
|
||||
data << uint32(0xa05) << uint32(0x8e); // 34 2565 unk, constant?
|
||||
data << uint32(0xaa0) << uint32(0x0); // 35 2720 Capturing progress-bar (100 -> empty (only grey), 0 -> blue|red (no grey), default 0)
|
||||
data << uint32(0xa9f) << uint32(0x0); // 36 2719 Capturing progress-bar (0 - left, 100 - right)
|
||||
data << uint32(0xa9e) << uint32(0x0); // 37 2718 Capturing progress-bar (1 - show, 0 - hide)
|
||||
data << uint32(0xc0d) << uint32(0x17b); // 38 3085 unk
|
||||
// and some more ... unknown
|
||||
}
|
||||
FillInitialWorldState(data,count, EY_world_states);
|
||||
break;
|
||||
case 3483: // Hellfire Peninsula
|
||||
data << uint32(0x9ba) << uint32(0x1); // 10
|
||||
data << uint32(0x9b9) << uint32(0x1); // 11
|
||||
data << uint32(0x9b5) << uint32(0x0); // 12
|
||||
data << uint32(0x9b4) << uint32(0x1); // 13
|
||||
data << uint32(0x9b3) << uint32(0x0); // 14
|
||||
data << uint32(0x9b2) << uint32(0x0); // 15
|
||||
data << uint32(0x9b1) << uint32(0x1); // 16
|
||||
data << uint32(0x9b0) << uint32(0x0); // 17
|
||||
data << uint32(0x9ae) << uint32(0x0); // 18 horde pvp objectives captured
|
||||
data << uint32(0x9ac) << uint32(0x0); // 19
|
||||
data << uint32(0x9a8) << uint32(0x0); // 20
|
||||
data << uint32(0x9a7) << uint32(0x0); // 21
|
||||
data << uint32(0x9a6) << uint32(0x1); // 22
|
||||
FillInitialWorldState(data,count, HP_world_states);
|
||||
break;
|
||||
case 3519: // Terokkar Forest
|
||||
data << uint32(0xa41) << uint32(0x0); // 10
|
||||
data << uint32(0xa40) << uint32(0x14); // 11
|
||||
data << uint32(0xa3f) << uint32(0x0); // 12
|
||||
data << uint32(0xa3e) << uint32(0x0); // 13
|
||||
data << uint32(0xa3d) << uint32(0x5); // 14
|
||||
data << uint32(0xa3c) << uint32(0x0); // 15
|
||||
data << uint32(0xa87) << uint32(0x0); // 16
|
||||
data << uint32(0xa86) << uint32(0x0); // 17
|
||||
data << uint32(0xa85) << uint32(0x0); // 18
|
||||
data << uint32(0xa84) << uint32(0x0); // 19
|
||||
data << uint32(0xa83) << uint32(0x0); // 20
|
||||
data << uint32(0xa82) << uint32(0x0); // 21
|
||||
data << uint32(0xa81) << uint32(0x0); // 22
|
||||
data << uint32(0xa80) << uint32(0x0); // 23
|
||||
data << uint32(0xa7e) << uint32(0x0); // 24
|
||||
data << uint32(0xa7d) << uint32(0x0); // 25
|
||||
data << uint32(0xa7c) << uint32(0x0); // 26
|
||||
data << uint32(0xa7b) << uint32(0x0); // 27
|
||||
data << uint32(0xa7a) << uint32(0x0); // 28
|
||||
data << uint32(0xa79) << uint32(0x0); // 29
|
||||
data << uint32(0x9d0) << uint32(0x5); // 30
|
||||
data << uint32(0x9ce) << uint32(0x0); // 31
|
||||
data << uint32(0x9cd) << uint32(0x0); // 32
|
||||
data << uint32(0x9cc) << uint32(0x0); // 33
|
||||
data << uint32(0xa88) << uint32(0x0); // 34
|
||||
data << uint32(0xad0) << uint32(0x0); // 35
|
||||
data << uint32(0xacf) << uint32(0x1); // 36
|
||||
FillInitialWorldState(data,count, TF_world_states);
|
||||
break;
|
||||
case 3521: // Zangarmarsh
|
||||
data << uint32(0x9e1) << uint32(0x0); // 10
|
||||
data << uint32(0x9e0) << uint32(0x0); // 11
|
||||
data << uint32(0x9df) << uint32(0x0); // 12
|
||||
data << uint32(0xa5d) << uint32(0x1); // 13
|
||||
data << uint32(0xa5c) << uint32(0x0); // 14
|
||||
data << uint32(0xa5b) << uint32(0x1); // 15
|
||||
data << uint32(0xa5a) << uint32(0x0); // 16
|
||||
data << uint32(0xa59) << uint32(0x1); // 17
|
||||
data << uint32(0xa58) << uint32(0x0); // 18
|
||||
data << uint32(0xa57) << uint32(0x0); // 19
|
||||
data << uint32(0xa56) << uint32(0x0); // 20
|
||||
data << uint32(0xa55) << uint32(0x1); // 21
|
||||
data << uint32(0xa54) << uint32(0x0); // 22
|
||||
data << uint32(0x9e7) << uint32(0x0); // 23
|
||||
data << uint32(0x9e6) << uint32(0x0); // 24
|
||||
data << uint32(0x9e5) << uint32(0x0); // 25
|
||||
data << uint32(0xa00) << uint32(0x0); // 26
|
||||
data << uint32(0x9ff) << uint32(0x1); // 27
|
||||
data << uint32(0x9fe) << uint32(0x0); // 28
|
||||
data << uint32(0x9fd) << uint32(0x0); // 29
|
||||
data << uint32(0x9fc) << uint32(0x1); // 30
|
||||
data << uint32(0x9fb) << uint32(0x0); // 31
|
||||
data << uint32(0xa62) << uint32(0x0); // 32
|
||||
data << uint32(0xa61) << uint32(0x1); // 33
|
||||
data << uint32(0xa60) << uint32(0x1); // 34
|
||||
data << uint32(0xa5f) << uint32(0x0); // 35
|
||||
FillInitialWorldState(data,count, ZM_world_states);
|
||||
break;
|
||||
case 3698: // Nagrand Arena
|
||||
if (bg && bg->GetTypeID() == BATTLEGROUND_NA)
|
||||
bg->FillInitialWorldStates(data);
|
||||
bg->FillInitialWorldStates(data, count);
|
||||
else
|
||||
{
|
||||
data << uint32(0xa0f) << uint32(0x0); // 7
|
||||
data << uint32(0xa10) << uint32(0x0); // 8
|
||||
data << uint32(0xa11) << uint32(0x0); // 9 show
|
||||
FillInitialWorldState(data,count,0xa0f,0x0);// 7
|
||||
FillInitialWorldState(data,count,0xa10,0x0);// 8
|
||||
FillInitialWorldState(data,count,0xa11,0x0);// 9 show
|
||||
}
|
||||
break;
|
||||
case 3702: // Blade's Edge Arena
|
||||
if (bg && bg->GetTypeID() == BATTLEGROUND_BE)
|
||||
bg->FillInitialWorldStates(data);
|
||||
bg->FillInitialWorldStates(data, count);
|
||||
else
|
||||
{
|
||||
data << uint32(0x9f0) << uint32(0x0); // 7 gold
|
||||
data << uint32(0x9f1) << uint32(0x0); // 8 green
|
||||
data << uint32(0x9f3) << uint32(0x0); // 9 show
|
||||
FillInitialWorldState(data,count,0x9f0,0x0);// 7 gold
|
||||
FillInitialWorldState(data,count,0x9f1,0x0);// 8 green
|
||||
FillInitialWorldState(data,count,0x9f3,0x0);// 9 show
|
||||
}
|
||||
break;
|
||||
case 3968: // Ruins of Lordaeron
|
||||
if (bg && bg->GetTypeID() == BATTLEGROUND_RL)
|
||||
bg->FillInitialWorldStates(data);
|
||||
bg->FillInitialWorldStates(data, count);
|
||||
else
|
||||
{
|
||||
data << uint32(0xbb8) << uint32(0x0); // 7 gold
|
||||
data << uint32(0xbb9) << uint32(0x0); // 8 green
|
||||
data << uint32(0xbba) << uint32(0x0); // 9 show
|
||||
FillInitialWorldState(data,count,0xbb8,0x0);// 7 gold
|
||||
FillInitialWorldState(data,count,0xbb9,0x0);// 8 green
|
||||
FillInitialWorldState(data,count,0xbba,0x0);// 9 show
|
||||
}
|
||||
break;
|
||||
case 3703: // Shattrath City
|
||||
break;
|
||||
default:
|
||||
data << uint32(0x914) << uint32(0x0); // 7
|
||||
data << uint32(0x913) << uint32(0x0); // 8
|
||||
data << uint32(0x912) << uint32(0x0); // 9
|
||||
data << uint32(0x915) << uint32(0x0); // 10
|
||||
FillInitialWorldState(data,count, 0x914, 0x0); // 7
|
||||
FillInitialWorldState(data,count, 0x913, 0x0); // 8
|
||||
FillInitialWorldState(data,count, 0x912, 0x0); // 9
|
||||
FillInitialWorldState(data,count, 0x915, 0x0); // 10
|
||||
break;
|
||||
}
|
||||
|
||||
FillBGWeekendWorldStates(data,count);
|
||||
|
||||
data.put<uint16>(count_pos,count); // set actual world state amount
|
||||
|
||||
GetSession()->SendPacket(&data);
|
||||
|
||||
SendBGWeekendWorldStates();
|
||||
}
|
||||
|
||||
void Player::SendBGWeekendWorldStates()
|
||||
void Player::FillBGWeekendWorldStates(WorldPacket& data, uint32& count)
|
||||
{
|
||||
for(uint32 i = 1; i < sBattlemasterListStore.GetNumRows(); ++i)
|
||||
{
|
||||
|
|
@ -8381,9 +8361,9 @@ void Player::SendBGWeekendWorldStates()
|
|||
if (bl && bl->HolidayWorldStateId)
|
||||
{
|
||||
if (BattleGroundMgr::IsBGWeekend(BattleGroundTypeId(bl->id)))
|
||||
SendUpdateWorldState(bl->HolidayWorldStateId,1);
|
||||
FillInitialWorldState(data, count, bl->HolidayWorldStateId, 1);
|
||||
else
|
||||
SendUpdateWorldState(bl->HolidayWorldStateId,0);
|
||||
FillInitialWorldState(data, count, bl->HolidayWorldStateId, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue