Core/VMap: Add outdoor state to Map::GetFullTerrainStatusForPosition. Add WorldObject::IsOutdoors, basic member access.

Port From (https://github.com/TrinityCore/TrinityCore/commit/e47e95b6dc89a7332ae4d5d833639e4f30f3d8c5)
This commit is contained in:
hondacrx
2021-08-09 11:33:30 -04:00
parent 37fd6936fd
commit 06fe13fbab
5 changed files with 30 additions and 24 deletions
+3 -8
View File
@@ -6145,16 +6145,11 @@ namespace Game.Entities
if (IsInFlight())
return;
bool isOutdoor;
uint areaId = GetMap().GetAreaId(GetPhaseShift(), GetPositionX(), GetPositionY(), GetPositionZ(), out isOutdoor);
AreaTableRecord areaEntry = CliDB.AreaTableStorage.LookupByKey(areaId);
if (WorldConfig.GetBoolValue(WorldCfg.VmapIndoorCheck) && !isOutdoor)
if (WorldConfig.GetBoolValue(WorldCfg.VmapIndoorCheck) && !IsOutdoors())
RemoveAurasWithAttribute(SpellAttr0.OutdoorsOnly);
if (areaId == 0)
return;
uint areaId = GetAreaId();
var areaEntry = CliDB.AreaTableStorage.LookupByKey(areaId);
if (areaEntry == null)
{
Log.outError(LogFilter.Player, "Player '{0}' ({1}) discovered unknown area (x: {2} y: {3} z: {4} map: {5})",