Allow scripts in attachments on an owned NPC to call NPC functions on that NPC
parent
d930ca7b1d
commit
bee3f203cd
|
@ -122,6 +122,17 @@ namespace OpenSim.Region.Framework.Interfaces
|
|||
/// <summary>
|
||||
/// Check if the caller has permission to manipulate the given NPC.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// A caller has permission if
|
||||
/// * An NPC exists with the given npcID.
|
||||
/// * The caller UUID given is UUID.Zero.
|
||||
/// * The avatar is unowned (owner is UUID.Zero).
|
||||
/// * The avatar is owned and the owner and callerID match.
|
||||
/// * The avatar is owned and the callerID matches its agentID.
|
||||
/// </remarks>
|
||||
/// <param name="av"></param>
|
||||
/// <param name="callerID"></param>
|
||||
/// <returns>true if they do, false if they don't.</returns>
|
||||
/// <param name="npcID"></param>
|
||||
/// <param name="callerID"></param>
|
||||
/// <returns>
|
||||
|
|
|
@ -441,13 +441,20 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
|||
/// <summary>
|
||||
/// Check if the caller has permission to manipulate the given NPC.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// A caller has permission if
|
||||
/// * The caller UUID given is UUID.Zero.
|
||||
/// * The avatar is unowned (owner is UUID.Zero).
|
||||
/// * The avatar is owned and the owner and callerID match.
|
||||
/// * The avatar is owned and the callerID matches its agentID.
|
||||
/// </remarks>
|
||||
/// <param name="av"></param>
|
||||
/// <param name="callerID"></param>
|
||||
/// <returns>true if they do, false if they don't.</returns>
|
||||
private bool CheckPermissions(NPCAvatar av, UUID callerID)
|
||||
{
|
||||
return callerID == UUID.Zero || av.OwnerID == UUID.Zero ||
|
||||
av.OwnerID == callerID;
|
||||
av.OwnerID == callerID || av.AgentId == callerID;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue