Core/Objects: cache current liquid status of objects when updating position data and use it to replace unnecessary vmap lookups

Port From (https://github.com/TrinityCore/TrinityCore/commit/d18d2b84f2c3e6e1005316625da80c99dd414bcc)
This commit is contained in:
hondacrx
2022-02-17 16:55:41 -05:00
parent abf34c53b4
commit 5bd2878a4e
5 changed files with 32 additions and 56 deletions
@@ -131,6 +131,7 @@ namespace Game.Entities
m_outdoors = data.outdoors;
m_staticFloorZ = data.FloorZ;
m_liquidStatus = data.LiquidStatus;
}
public virtual void BuildCreateUpdateBlockForPlayer(UpdateData data, Player target)
@@ -979,6 +980,8 @@ namespace Game.Entities
public bool IsOutdoors() { return m_outdoors; }
public ZLiquidStatus GetLiquidStatus() { return m_liquidStatus; }
public bool IsInWorldPvpZone()
{
switch (GetZoneId())
@@ -3528,6 +3531,7 @@ namespace Game.Entities
uint m_areaId;
float m_staticFloorZ;
bool m_outdoors;
ZLiquidStatus m_liquidStatus;
// Event handler
public EventSystem m_Events = new();