Core/Objects: Keep current WMO info on position updates and use it in party member state packets
Port From (https://github.com/TrinityCore/TrinityCore/commit/d397b636d48f55b5e76d77c36ded33b2c8bbe295)
This commit is contained in:
@@ -120,6 +120,7 @@ namespace Game.Entities
|
||||
m_outdoors = data.outdoors;
|
||||
m_staticFloorZ = data.FloorZ;
|
||||
m_liquidStatus = data.LiquidStatus;
|
||||
m_currentWmo = data.wmoLocation;
|
||||
}
|
||||
|
||||
public virtual void BuildCreateUpdateBlockForPlayer(UpdateData data, Player target)
|
||||
@@ -1080,6 +1081,8 @@ namespace Game.Entities
|
||||
|
||||
public ZLiquidStatus GetLiquidStatus() { return m_liquidStatus; }
|
||||
|
||||
public WmoLocation GetCurrentWmo() { return m_currentWmo; }
|
||||
|
||||
public bool IsInWorldPvpZone()
|
||||
{
|
||||
switch (GetZoneId())
|
||||
@@ -3804,6 +3807,7 @@ namespace Game.Entities
|
||||
float m_staticFloorZ;
|
||||
bool m_outdoors;
|
||||
ZLiquidStatus m_liquidStatus;
|
||||
WmoLocation m_currentWmo;
|
||||
|
||||
// Event handler
|
||||
public EventSystem m_Events = new();
|
||||
|
||||
@@ -280,8 +280,13 @@ namespace Game.Networking.Packets
|
||||
MemberStats.SpecID = (ushort)player.GetPrimarySpecialization();
|
||||
MemberStats.PartyType[0] = player.m_playerData.PartyType[0];
|
||||
MemberStats.PartyType[1] = player.m_playerData.PartyType[1];
|
||||
MemberStats.WmoGroupID = 0;
|
||||
MemberStats.WmoDoodadPlacementID = 0;
|
||||
|
||||
var wmoLocation = player.GetCurrentWmo();
|
||||
if (wmoLocation != null)
|
||||
{
|
||||
MemberStats.WmoGroupID = (ushort)wmoLocation.GroupId;
|
||||
MemberStats.WmoDoodadPlacementID = wmoLocation.UniqueId;
|
||||
}
|
||||
|
||||
// Vehicle
|
||||
Vehicle vehicle = player.GetVehicle();
|
||||
|
||||
Reference in New Issue
Block a user