Core/WorldStates: Migrate battleground worldstates to new system

Port From (https://github.com/TrinityCore/TrinityCore/commit/5dbfaecd5c020fd4c3b3dfc235580849c39ce7db)
This commit is contained in:
hondacrx
2022-07-10 14:59:20 -04:00
parent d0cc9645b9
commit ae9308c1cb
17 changed files with 693 additions and 1128 deletions
@@ -3182,7 +3182,7 @@ namespace Game.Entities
packet.CapturePointInfo.CaptureTotalDuration = TimeSpan.FromMilliseconds(GetGoInfo().CapturePoint.CaptureTime);
packet.CapturePointInfo.CaptureTime = m_goValue.CapturePoint.AssaultTimer;
bg.SendPacketToAll(packet);
bg.UpdateWorldState(GetGoInfo().CapturePoint.worldState1, (byte)m_goValue.CapturePoint.State);
bg.UpdateWorldState((int)GetGoInfo().CapturePoint.worldState1, (byte)m_goValue.CapturePoint.State);
}
}
}
+58 -366
View File
@@ -896,7 +896,7 @@ namespace Game.Entities
return m_petStable;
}
// last used pet number (for BG's)
public uint GetLastPetNumber() { return m_lastpetnumber; }
public void SetLastPetNumber(uint petnumber) { m_lastpetnumber = petnumber; }
@@ -1287,19 +1287,19 @@ namespace Game.Entities
switch ((CurrencyTypes)currency.Id)
{
case CurrencyTypes.ApexisCrystals:
{
uint apexiscap = WorldConfig.GetUIntValue(WorldCfg.CurrencyMaxApexisCrystals);
if (apexiscap > 0)
cap = apexiscap;
break;
}
{
uint apexiscap = WorldConfig.GetUIntValue(WorldCfg.CurrencyMaxApexisCrystals);
if (apexiscap > 0)
cap = apexiscap;
break;
}
case CurrencyTypes.JusticePoints:
{
uint justicecap = WorldConfig.GetUIntValue(WorldCfg.CurrencyMaxJusticePoints);
if (justicecap > 0)
cap = justicecap;
break;
}
{
uint justicecap = WorldConfig.GetUIntValue(WorldCfg.CurrencyMaxJusticePoints);
if (justicecap > 0)
cap = justicecap;
break;
}
}
return cap;
@@ -2201,7 +2201,7 @@ namespace Game.Entities
m_ExtraFlags &= ~PlayerExtraFlags.AcceptWhispers;
}
public bool IsGameMaster() { return m_ExtraFlags.HasAnyFlag(PlayerExtraFlags.GMOn); }
public bool IsGameMasterAcceptingWhispers() { return IsGameMaster() && IsAcceptWhispers(); }
public bool IsGameMasterAcceptingWhispers() { return IsGameMaster() && IsAcceptWhispers(); }
public bool CanBeGameMaster() { return GetSession().HasPermission(RBACPermissions.CommandGm); }
public void SetGameMaster(bool on)
{
@@ -2497,18 +2497,18 @@ namespace Game.Entities
switch ((GossipOption)gossipOptionType)
{
case GossipOption.Gossip:
{
if (menuItemData.GossipActionPoi != 0)
PlayerTalkClass.SendPointOfInterest(menuItemData.GossipActionPoi);
if (menuItemData.GossipActionMenuId != 0)
{
if (menuItemData.GossipActionPoi != 0)
PlayerTalkClass.SendPointOfInterest(menuItemData.GossipActionPoi);
if (menuItemData.GossipActionMenuId != 0)
{
PrepareGossipMenu(source, menuItemData.GossipActionMenuId);
SendPreparedGossip(source);
}
break;
PrepareGossipMenu(source, menuItemData.GossipActionMenuId);
SendPreparedGossip(source);
}
break;
}
case GossipOption.Outdoorpvp:
Global.OutdoorPvPMgr.HandleGossipOption(this, source.ToCreature(), gossipListId);
break;
@@ -2562,18 +2562,18 @@ namespace Game.Entities
SendPreparedGossip(source);
break;
case GossipOption.Battlefield:
{
BattlegroundTypeId bgTypeId = Global.BattlegroundMgr.GetBattleMasterBG(source.GetEntry());
if (bgTypeId == BattlegroundTypeId.None)
{
BattlegroundTypeId bgTypeId = Global.BattlegroundMgr.GetBattleMasterBG(source.GetEntry());
if (bgTypeId == BattlegroundTypeId.None)
{
Log.outError(LogFilter.Player, "a user (guid {0}) requested Battlegroundlist from a npc who is no battlemaster", GetGUID().ToString());
return;
}
Global.BattlegroundMgr.SendBattlegroundList(this, guid, bgTypeId);
break;
Log.outError(LogFilter.Player, "a user (guid {0}) requested Battlegroundlist from a npc who is no battlemaster", GetGUID().ToString());
return;
}
Global.BattlegroundMgr.SendBattlegroundList(this, guid, bgTypeId);
break;
}
case GossipOption.Transmogrifier:
GetSession().SendOpenTransmogrifier(guid);
break;
@@ -2589,7 +2589,7 @@ namespace Game.Entities
return GetGossipTextId(GetDefaultGossipMenuForSource(source), source);
}
public uint GetGossipTextId(uint menuId, WorldObject source)
{
uint textId = SharedConst.DefaultGossipMessage;
@@ -2869,7 +2869,7 @@ namespace Game.Entities
public void SendBindPointUpdate()
{
BindPointUpdate packet = new();
packet.BindPosition = new (homebind.GetPositionX(), homebind.GetPositionY(), homebind.GetPositionZ());
packet.BindPosition = new(homebind.GetPositionX(), homebind.GetPositionY(), homebind.GetPositionZ());
packet.BindMapID = homebind.GetMapId();
packet.BindAreaID = homebindAreaId;
SendPacket(packet);
@@ -2904,7 +2904,6 @@ namespace Game.Entities
void SendInitWorldStates(uint zoneId, uint areaId)
{
// data depends on zoneid/mapid...
Battleground bg = GetBattleground();
uint mapid = GetMapId();
OutdoorPvP pvp = Global.OutdoorPvPMgr.GetOutdoorPvPToZoneId(zoneId);
@@ -2969,182 +2968,6 @@ namespace Game.Entities
packet.AddState(2324, 0); // AQ_SANDWORM_SW
packet.AddState(2325, 0); // AQ_SANDWORM_E
break;
case 2597: // Alterac Valley
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.AV)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(1966, 1); // AV_SNOWFALL_N
packet.AddState(1330, 1); // AV_FROSTWOLFHUT_H_C
packet.AddState(1329, 0); // AV_FROSTWOLFHUT_A_C
packet.AddState(1326, 0); // AV_AID_A_A
packet.AddState(1393, 0); // East Frostwolf Tower Horde Assaulted - UNUSED
packet.AddState(1392, 0); // West Frostwolf Tower Horde Assaulted - UNUSED
packet.AddState(1383, 1); // AV_FROSTWOLFE_CONTROLLED
packet.AddState(1382, 1); // AV_FROSTWOLFW_CONTROLLED
packet.AddState(1360, 1); // AV_N_MINE_N
packet.AddState(1348, 0); // AV_ICEBLOOD_A_A
packet.AddState(1334, 0); // AV_PIKEGRAVE_H_C
packet.AddState(1333, 1); // AV_PIKEGRAVE_A_C
packet.AddState(1304, 0); // AV_STONEHEART_A_A
packet.AddState(1303, 0); // AV_STONEHEART_H_A
packet.AddState(1396, 0); // unk
packet.AddState(1395, 0); // Iceblood Tower Horde Assaulted - UNUSED
packet.AddState(1394, 0); // Towerpoint Horde Assaulted - UNUSED
packet.AddState(1391, 0); // unk
packet.AddState(1390, 0); // AV_ICEBLOOD_ASSAULTED
packet.AddState(1389, 0); // AV_TOWERPOINT_ASSAULTED
packet.AddState(1388, 0); // AV_FROSTWOLFE_ASSAULTED
packet.AddState(1387, 0); // AV_FROSTWOLFW_ASSAULTED
packet.AddState(1386, 1); // unk
packet.AddState(1385, 1); // AV_ICEBLOOD_CONTROLLED
packet.AddState(1384, 1); // AV_TOWERPOINT_CONTROLLED
packet.AddState(1381, 0); // AV_STONEH_ASSAULTED
packet.AddState(1380, 0); // AV_ICEWING_ASSAULTED
packet.AddState(1379, 0); // AV_DUNN_ASSAULTED
packet.AddState(1378, 0); // AV_DUNS_ASSAULTED
packet.AddState(1377, 0); // Stoneheart Bunker Alliance Assaulted - UNUSED
packet.AddState(1376, 0); // Icewing Bunker Alliance Assaulted - UNUSED
packet.AddState(1375, 0); // Dunbaldar South Alliance Assaulted - UNUSED
packet.AddState(1374, 0); // Dunbaldar North Alliance Assaulted - UNUSED
packet.AddState(1373, 0); // AV_STONEH_DESTROYED
packet.AddState(966, 0); // AV_UNK_02
packet.AddState(964, 0); // AV_UNK_01
packet.AddState(962, 0); // AV_STORMPIKE_COMMANDERS
packet.AddState(1302, 1); // AV_STONEHEART_A_C
packet.AddState(1301, 0); // AV_STONEHEART_H_C
packet.AddState(950, 0); // AV_STORMPIKE_LIEUTENANTS
packet.AddState(1372, 0); // AV_ICEWING_DESTROYED
packet.AddState(1371, 0); // AV_DUNN_DESTROYED
packet.AddState(1370, 0); // AV_DUNS_DESTROYED
packet.AddState(1369, 0); // unk
packet.AddState(1368, 0); // AV_ICEBLOOD_DESTROYED
packet.AddState(1367, 0); // AV_TOWERPOINT_DESTROYED
packet.AddState(1366, 0); // AV_FROSTWOLFE_DESTROYED
packet.AddState(1365, 0); // AV_FROSTWOLFW_DESTROYED
packet.AddState(1364, 1); // AV_STONEH_CONTROLLED
packet.AddState(1363, 1); // AV_ICEWING_CONTROLLED
packet.AddState(1362, 1); // AV_DUNN_CONTROLLED
packet.AddState(1361, 1); // AV_DUNS_CONTROLLED
packet.AddState(1359, 0); // AV_N_MINE_H
packet.AddState(1358, 0); // AV_N_MINE_A
packet.AddState(1357, 1); // AV_S_MINE_N
packet.AddState(1356, 0); // AV_S_MINE_H
packet.AddState(1355, 0); // AV_S_MINE_A
packet.AddState(1349, 0); // AV_ICEBLOOD_H_A
packet.AddState(1347, 1); // AV_ICEBLOOD_H_C
packet.AddState(1346, 0); // AV_ICEBLOOD_A_C
packet.AddState(1344, 0); // AV_SNOWFALL_H_A
packet.AddState(1343, 0); // AV_SNOWFALL_A_A
packet.AddState(1342, 0); // AV_SNOWFALL_H_C
packet.AddState(1341, 0); // AV_SNOWFALL_A_C
packet.AddState(1340, 0); // AV_FROSTWOLF_H_A
packet.AddState(1339, 0); // AV_FROSTWOLF_A_A
packet.AddState(1338, 1); // AV_FROSTWOLF_H_C
packet.AddState(1337, 0); // AV_FROSTWOLF_A_C
packet.AddState(1336, 0); // AV_PIKEGRAVE_H_A
packet.AddState(1335, 0); // AV_PIKEGRAVE_A_A
packet.AddState(1332, 0); // AV_FROSTWOLFHUT_H_A
packet.AddState(1331, 0); // AV_FROSTWOLFHUT_A_A
packet.AddState(1328, 0); // AV_AID_H_A
packet.AddState(1327, 0); // AV_AID_H_C
packet.AddState(1325, 1); // AV_AID_A_C
}
break;
case 3277: // Warsong Gulch
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.WS)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(1581, 0); // alliance flag captures
packet.AddState(1582, 0); // horde flag captures
packet.AddState(1545, 0); // unk, set to 1 on alliance flag pickup...
packet.AddState(1546, 0); // unk, set to 1 on horde flag pickup, after drop it's -1
packet.AddState(1547, 2); // unk
packet.AddState(1601, 3); // unk (max flag captures?)
packet.AddState(2338, 1); // horde (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
packet.AddState(2339, 1); // alliance (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
}
break;
case 3358: // Arathi Basin
if (bg && (bg.GetTypeID(true) == BattlegroundTypeId.AB || bg.GetTypeID(true) == BattlegroundTypeId.DomAb))
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(1767, 0); // stables alliance
packet.AddState(1768, 0); // stables horde
packet.AddState(1769, 0); // stables alliance controlled
packet.AddState(1770, 0); // stables horde controlled
packet.AddState(1772, 0); // farm alliance
packet.AddState(1773, 0); // farm horde
packet.AddState(1774, 0); // farm alliance controlled
packet.AddState(1775, 0); // farm horde controlled
packet.AddState(1776, 0); // alliance resources
packet.AddState(1777, 0); // horde resources
packet.AddState(1778, 0); // horde bases
packet.AddState(1779, 0); // alliance bases
packet.AddState(1780, 2000); // max resources (2000)
packet.AddState(1782, 0); // blacksmith alliance
packet.AddState(1783, 0); // blacksmith horde
packet.AddState(1784, 0); // blacksmith alliance controlled
packet.AddState(1785, 0); // blacksmith horde controlled
packet.AddState(1787, 0); // gold mine alliance
packet.AddState(1788, 0); // gold mine horde
packet.AddState(1789, 0); // gold mine alliance controlled
packet.AddState(1790, 0); // gold mine horde controlled
packet.AddState(1792, 0); // lumber mill alliance
packet.AddState(1793, 0); // lumber mill horde
packet.AddState(1794, 0); // lumber mill alliance controlled
packet.AddState(1795, 0); // lumber mill horde controlled
packet.AddState(1842, 1); // stables (1 - uncontrolled)
packet.AddState(1843, 1); // gold mine (1 - uncontrolled)
packet.AddState(1844, 1); // lumber mill (1 - uncontrolled)
packet.AddState(1845, 1); // farm (1 - uncontrolled)
packet.AddState(1846, 1); // blacksmith (1 - uncontrolled)
packet.AddState(1861, 2); // unk
packet.AddState(1955, 1800); // warning limit (1800)
}
break;
case 3820: // Eye of the Storm
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.EY)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(2753, 0); // Horde Bases
packet.AddState(2752, 0); // Alliance Bases
packet.AddState(2742, 0); // Mage Tower - Horde conflict
packet.AddState(2741, 0); // Mage Tower - Alliance conflict
packet.AddState(2740, 0); // Fel Reaver - Horde conflict
packet.AddState(2739, 0); // Fel Reaver - Alliance conflict
packet.AddState(2738, 0); // Draenei - Alliance conflict
packet.AddState(2737, 0); // Draenei - Horde conflict
packet.AddState(2736, 0); // unk (0 at start)
packet.AddState(2735, 0); // unk (0 at start)
packet.AddState(2733, 0); // Draenei - Horde control
packet.AddState(2732, 0); // Draenei - Alliance control
packet.AddState(2731, 1); // Draenei uncontrolled (1 - yes, 0 - no)
packet.AddState(2730, 0); // Mage Tower - Alliance control
packet.AddState(2729, 0); // Mage Tower - Horde control
packet.AddState(2728, 1); // Mage Tower uncontrolled (1 - yes, 0 - no)
packet.AddState(2727, 0); // Fel Reaver - Horde control
packet.AddState(2726, 0); // Fel Reaver - Alliance control
packet.AddState(2725, 1); // Fel Reaver uncontrolled (1 - yes, 0 - no)
packet.AddState(2724, 0); // Boold Elf - Horde control
packet.AddState(2723, 0); // Boold Elf - Alliance control
packet.AddState(2722, 1); // Boold Elf uncontrolled (1 - yes, 0 - no)
packet.AddState(2757, 1); // Flag (1 - show, 0 - hide) - doesn't work exactly this way!
packet.AddState(2770, 1); // Horde top-stats (1 - show, 0 - hide) // 02 -> horde picked up the flag
packet.AddState(2769, 1); // Alliance top-stats (1 - show, 0 - hide) // 02 -> alliance picked up the flag
packet.AddState(2750, 0); // Horde resources
packet.AddState(2749, 0); // Alliance resources
packet.AddState(2565, 142); // unk, constant?
packet.AddState(2720, 0); // Capturing progress-bar (100 -> empty (only grey), 0 -> blue|red (no grey), default 0)
packet.AddState(2719, 0); // Capturing progress-bar (0 - left, 100 - right)
packet.AddState(2718, 0); // Capturing progress-bar (1 - show, 0 - hide)
packet.AddState(3085, 379); // unk, constant?
// missing unknowns
}
break;
// any of these needs change! the client remembers the prev setting!
// ON EVERY ZONE LEAVE, RESET THE OLD ZONE'S WORLD STATE, BUT AT LEAST THE UI STUFF!
case 3483: // Hellfire Peninsula
@@ -3273,137 +3096,6 @@ namespace Game.Entities
packet.AddState(2655, 0); // ZM_MAP_ALLIANCE_FLAG_READY
}
break;
case 3698: // Nagrand Arena
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.NA)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(2575, 0); // BATTLEGROUND_NAGRAND_ARENA_GOLD
packet.AddState(2576, 0); // BATTLEGROUND_NAGRAND_ARENA_GREEN
packet.AddState(2577, 0); // BATTLEGROUND_NAGRAND_ARENA_SHOW
}
break;
case 3702: // Blade's Edge Arena
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.BE)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(2544, 0); // BATTLEGROUND_BLADES_EDGE_ARENA_GOLD
packet.AddState(2545, 0); // BATTLEGROUND_BLADES_EDGE_ARENA_GREEN
packet.AddState(2547, 0); // BATTLEGROUND_BLADES_EDGE_ARENA_SHOW
}
break;
case 3968: // Ruins of Lordaeron
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.RL)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(3000, 0); // BATTELGROUND_RUINS_OF_LORDAERNON_GOLD
packet.AddState(3001, 0); // BATTELGROUND_RUINS_OF_LORDAERNON_GREEN
packet.AddState(3002, 0); // BATTELGROUND_RUINS_OF_LORDAERNON_SHOW
}
break;
case 4378: // Dalaran Sewers
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.DS)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(3601, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_GOLD
packet.AddState(3600, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_GREEN
packet.AddState(3610, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_SHOW
}
break;
case 4384: // Strand of the Ancients
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.SA)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(3849, 0); // Gate of Temple
packet.AddState(3638, 0); // Gate of Yellow Moon
packet.AddState(3623, 0); // Gate of Green Emerald
packet.AddState(3620, 0); // Gate of Blue Sapphire
packet.AddState(3617, 0); // Gate of Red Sun
packet.AddState(3614, 0); // Gate of Purple Ametyst
packet.AddState(3571, 0); // bonus timer (1 - on, 0 - off)
packet.AddState(3565, 0); // Horde Attacker
packet.AddState(3564, 0); // Alliance Attacker
// End Round timer, example: 19:59 -> A:BC
packet.AddState(3561, 0); // C
packet.AddState(3560, 0); // B
packet.AddState(3559, 0); // A
packet.AddState(3637, 0); // BG_SA_CENTER_GY_ALLIANCE
packet.AddState(3636, 0); // BG_SA_RIGHT_GY_ALLIANCE
packet.AddState(3635, 0); // BG_SA_LEFT_GY_ALLIANCE
packet.AddState(3634, 0); // BG_SA_CENTER_GY_HORDE
packet.AddState(3633, 0); // BG_SA_LEFT_GY_HORDE
packet.AddState(3632, 0); // BG_SA_RIGHT_GY_HORDE
packet.AddState(3631, 0); // BG_SA_HORDE_DEFENCE_TOKEN
packet.AddState(3630, 0); // BG_SA_ALLIANCE_DEFENCE_TOKEN
packet.AddState(3629, 0); // BG_SA_LEFT_ATT_TOKEN_HRD
packet.AddState(3628, 0); // BG_SA_RIGHT_ATT_TOKEN_HRD
packet.AddState(3627, 0); // BG_SA_RIGHT_ATT_TOKEN_ALL
packet.AddState(3626, 0); // BG_SA_LEFT_ATT_TOKEN_ALL
// missing unknowns
}
break;
case 4406: // Ring of Valor
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.RV)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(3600, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_GREEN
packet.AddState(3601, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_GOLD
packet.AddState(3610, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_SHOW
}
break;
case 4710:
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.IC)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(4221, 1); // BG_IC_ALLIANCE_RENFORT_SET
packet.AddState(4222, 1); // BG_IC_HORDE_RENFORT_SET
packet.AddState(4226, 300); // BG_IC_ALLIANCE_RENFORT
packet.AddState(4227, 300); // BG_IC_HORDE_RENFORT
packet.AddState(4322, 1); // BG_IC_GATE_FRONT_H_WS_OPEN
packet.AddState(4321, 1); // BG_IC_GATE_WEST_H_WS_OPEN
packet.AddState(4320, 1); // BG_IC_GATE_EAST_H_WS_OPEN
packet.AddState(4323, 1); // BG_IC_GATE_FRONT_A_WS_OPEN
packet.AddState(4324, 1); // BG_IC_GATE_WEST_A_WS_OPEN
packet.AddState(4325, 1); // BG_IC_GATE_EAST_A_WS_OPEN
packet.AddState(4317, 1); // unk
packet.AddState(4301, 1); // BG_IC_DOCKS_UNCONTROLLED
packet.AddState(4296, 1); // BG_IC_HANGAR_UNCONTROLLED
packet.AddState(4306, 1); // BG_IC_QUARRY_UNCONTROLLED
packet.AddState(4311, 1); // BG_IC_REFINERY_UNCONTROLLED
packet.AddState(4294, 1); // BG_IC_WORKSHOP_UNCONTROLLED
packet.AddState(4243, 1); // unk
packet.AddState(4345, 1); // unk
}
break;
// Twin Peaks
case 5031:
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.TP)
bg.FillInitialWorldStates(packet);
else
{
packet.AddState(1581, 0x0); // alliance flag captures
packet.AddState(1582, 0x0); // horde flag captures
packet.AddState(1545, 0x0); // unk
packet.AddState(1546, 0x0); // unk
packet.AddState(1547, 0x2); // unk
packet.AddState(1601, 0x3); // unk
packet.AddState(2338, 0x1); // horde (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
packet.AddState(2339, 0x1); // alliance (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
}
break;
// Battle for Gilneas
case 5449:
if (bg && bg.GetTypeID(true) == BattlegroundTypeId.BFG)
bg.FillInitialWorldStates(packet);
break;
default:
break;
}
@@ -3442,7 +3134,7 @@ namespace Game.Entities
uint GetChampioningFaction() { return m_ChampioningFaction; }
public void SetChampioningFaction(uint faction) { m_ChampioningFaction = faction; }
public void SetFactionForRace(Race race)
{
m_team = TeamForRace(race);
@@ -3900,7 +3592,7 @@ namespace Game.Entities
return Global.ObjAccessor.GetUnit(this, selectionGUID);
return null;
}
public Player GetSelectedPlayer()
{
ObjectGuid selectionGUID = GetTarget();
@@ -4271,19 +3963,19 @@ namespace Game.Entities
case MirrorTimerType.Fatigue:
return Time.Minute * Time.InMilliseconds;
case MirrorTimerType.Breath:
{
if (!IsAlive() || HasAuraType(AuraType.WaterBreathing) || GetSession().GetSecurity() >= (AccountTypes)WorldConfig.GetIntValue(WorldCfg.DisableBreathing))
return -1;
int UnderWaterTime = 3 * Time.Minute * Time.InMilliseconds;
UnderWaterTime *= (int)GetTotalAuraMultiplier(AuraType.ModWaterBreathing);
return UnderWaterTime;
}
{
if (!IsAlive() || HasAuraType(AuraType.WaterBreathing) || GetSession().GetSecurity() >= (AccountTypes)WorldConfig.GetIntValue(WorldCfg.DisableBreathing))
return -1;
int UnderWaterTime = 3 * Time.Minute * Time.InMilliseconds;
UnderWaterTime *= (int)GetTotalAuraMultiplier(AuraType.ModWaterBreathing);
return UnderWaterTime;
}
case MirrorTimerType.Fire:
{
if (!IsAlive())
return -1;
return 1 * Time.InMilliseconds;
}
{
if (!IsAlive())
return -1;
return 1 * Time.InMilliseconds;
}
default:
return 0;
}
@@ -5418,7 +5110,7 @@ namespace Game.Entities
{
return GetLevel() >= m_activePlayerData.MaxLevel;
}
public ChatFlags GetChatFlags()
{
ChatFlags tag = ChatFlags.None;
@@ -6018,7 +5710,7 @@ namespace Game.Entities
{
return GetReputationMgr().GetReputation(CliDB.FactionStorage.LookupByKey(factionentry));
}
#region Sends / Updates
void BeforeVisibilityDestroy(WorldObject obj, Player p)
{
@@ -6574,7 +6266,7 @@ namespace Game.Entities
return false;
}
#endregion
public void ClearWhisperWhiteList() { WhisperList.Clear(); }
public void AddWhisperWhiteList(ObjectGuid guid) { WhisperList.Add(guid); }
public bool IsInWhisperWhiteList(ObjectGuid guid) { return WhisperList.Contains(guid); }
@@ -6586,8 +6278,8 @@ namespace Game.Entities
m_lastFallZ = z;
}
public PlayerCreateMode GetCreateMode() { return m_createMode; }
public PlayerCreateMode GetCreateMode() { return m_createMode; }
public byte GetCinematic() { return m_cinematic; }
public void SetCinematic(byte cine) { m_cinematic = cine; }
@@ -6627,7 +6319,7 @@ namespace Game.Entities
public void SetBeenGrantedLevelsFromRaF() { m_ExtraFlags |= PlayerExtraFlags.GrantedLevelsFromRaf; }
public bool HasLevelBoosted() { return m_ExtraFlags.HasFlag(PlayerExtraFlags.LevelBoosted); }
public void SetHasLevelBoosted() { m_ExtraFlags |= PlayerExtraFlags.LevelBoosted; }
public uint GetXP() { return m_activePlayerData.XP; }
public uint GetXPForNextLevel() { return m_activePlayerData.NextLevelXP; }
@@ -7522,8 +7214,8 @@ namespace Game.Entities
return teleportDest;
}
public uint? GetTeleportDestInstanceId()
{
public uint? GetTeleportDestInstanceId()
{
return m_teleport_instanceId;
}
+1
View File
@@ -87,6 +87,7 @@ namespace Game.Entities
break;
}
Unit unit = passenger.ToUnit();
if (unit != null)
{
Vehicle vehicle = unit.GetVehicleKit();