add several options for NPC creation so abusive use can be reduced (restrictive by default) UNTESTED

This commit is contained in:
UbitUmarov
2015-09-30 02:45:11 +01:00
parent 1124d14eb0
commit feb78b2910
4 changed files with 96 additions and 10 deletions

View File

@@ -52,6 +52,11 @@ namespace OpenSim.Region.OptionalModules.World.NPC
private Dictionary<UUID, NPCAvatar> m_avatars =
new Dictionary<UUID, NPCAvatar>();
private NPCOptionsFlags m_NPCOptionFlags;
public NPCOptionsFlags NPCOptionFlags {get {return m_NPCOptionFlags;}}
public bool Enabled { get; private set; }
public void Initialise(IConfigSource source)
@@ -59,6 +64,27 @@ namespace OpenSim.Region.OptionalModules.World.NPC
IConfig config = source.Configs["NPC"];
Enabled = (config != null && config.GetBoolean("Enabled", false));
m_NPCOptionFlags = NPCOptionsFlags.None;
if(Enabled)
{
bool opt = false;
opt = config.GetBoolean("AllowNotOwned", false);
if(opt)
m_NPCOptionFlags |= NPCOptionsFlags.AllowNotOwned;
opt = config.GetBoolean("AllowSenseAsAvatar", false);
if(opt)
m_NPCOptionFlags |= NPCOptionsFlags.AllowSenseAsAvatar;
opt = config.GetBoolean("AllowCloneOtherAvatars", false);
if(opt)
m_NPCOptionFlags |= NPCOptionsFlags.AllowCloneOtherAvatars;
opt = config.GetBoolean("NoNPCGroup", false);
if(opt)
m_NPCOptionFlags |= NPCOptionsFlags.NoNPCGroup;
}
}
public void AddRegion(Scene scene)