Restructure god level and permissions

Create a class GodController which controls all aspects of god level,
viewer modes and user levels at ScenePresence level.
This commit is contained in:
Melanie Thielker
2017-01-06 00:55:14 +00:00
parent 46bffad558
commit ad8915f154
22 changed files with 105 additions and 150 deletions

View File

@@ -173,7 +173,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
sp.GrantGodlikePowers(token, godLike);
if (godLike && sp.GodLevel < 200 && DialogModule != null)
if (godLike && sp.GodController.GodLevel < 200 && DialogModule != null)
DialogModule.SendAlertToUser(agentID, "Request for god powers denied");
}
@@ -194,14 +194,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
int godlevel = 200;
// update level so higher gods can kick lower ones
ScenePresence god = m_scene.GetScenePresence(godID);
if(god != null && god.GodLevel > godlevel)
godlevel = god.GodLevel;
if(god != null && god.GodController.GodLevel > godlevel)
godlevel = god.GodController.GodLevel;
if(agentID == ALL_AGENTS)
{
m_scene.ForEachRootScenePresence(delegate(ScenePresence p)
{
if (p.UUID != godID && godlevel > p.GodLevel)
if (p.UUID != godID && godlevel > p.GodController.GodLevel)
doKickmodes(godID, p, kickflags, reason);
});
return;
@@ -224,7 +224,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
return;
}
if (godlevel <= sp.GodLevel) // no god wars
if (godlevel <= sp.GodController.GodLevel) // no god wars
return;
if(sp.UUID == godID)