Core/AreaTriggers: Handle exit areatrigger on player map change
Port From (https://github.com/TrinityCore/TrinityCore/commit/26fc14419142e3188370035ce4144cdb125bec05)
This commit is contained in:
@@ -877,6 +877,24 @@ namespace Game.Entities
|
||||
}
|
||||
}
|
||||
|
||||
public void EnterAreaTrigger(AreaTrigger areaTrigger)
|
||||
{
|
||||
m_insideAreaTriggers.Add(areaTrigger);
|
||||
}
|
||||
|
||||
public void ExitAreaTrigger(AreaTrigger areaTrigger)
|
||||
{
|
||||
m_insideAreaTriggers.Remove(areaTrigger);
|
||||
}
|
||||
|
||||
public void ExitAllAreaTriggers()
|
||||
{
|
||||
foreach (AreaTrigger at in m_insideAreaTriggers.ToList())
|
||||
at.HandleUnitExit(this);
|
||||
}
|
||||
|
||||
public List<AreaTrigger> GetInsideAreaTriggers() { return m_insideAreaTriggers; }
|
||||
|
||||
public NPCFlags GetNpcFlags() { return (NPCFlags)m_unitData.NpcFlags.GetValue(); }
|
||||
public bool HasNpcFlag(NPCFlags flags) { return (m_unitData.NpcFlags & (uint)flags) != 0; }
|
||||
public void SetNpcFlag(NPCFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.NpcFlags), (uint)flags); }
|
||||
|
||||
Reference in New Issue
Block a user