Core/Objects: Implemented vignettes
Port From (https://github.com/TrinityCore/TrinityCore/commit/fccf6fb72b60b08dfbe6d5fb17fba55239944fca)
This commit is contained in:
@@ -230,6 +230,22 @@ namespace Game.Entities
|
||||
|
||||
UpdateCriteria(CriteriaType.EnterTopLevelArea, newZone);
|
||||
UpdateCriteria(CriteriaType.LeaveTopLevelArea, oldZone);
|
||||
|
||||
VignetteUpdate vignetteUpdate = new();
|
||||
|
||||
foreach (var vignette in GetMap().GetInfiniteAOIVignettes())
|
||||
{
|
||||
if (!vignette.Data.GetFlags().HasFlag(VignetteFlags.ZoneInfiniteAOI))
|
||||
continue;
|
||||
|
||||
if (vignette.ZoneID == newZone && Vignettes.CanSee(this, vignette))
|
||||
vignette.FillPacket(vignetteUpdate.Added);
|
||||
else if (vignette.ZoneID == oldZone)
|
||||
vignetteUpdate.Removed.Add(vignette.Guid);
|
||||
}
|
||||
|
||||
if (!vignetteUpdate.Added.IDs.Empty() || !vignetteUpdate.Removed.Empty())
|
||||
SendPacket(vignetteUpdate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user