aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar
diff options
context:
space:
mode:
authorMelanie Thielker2017-01-06 00:55:14 +0000
committerMelanie Thielker2017-01-06 00:55:14 +0000
commitad8915f154d2ce6ba1b3a021b1725a0b0a671635 (patch)
tree431a20d28837bc3b002dcb65b60450729eb5ed8a /OpenSim/Region/CoreModules/Avatar
parentAdd GodController class (diff)
downloadopensim-SC_OLD-ad8915f154d2ce6ba1b3a021b1725a0b0a671635.zip
opensim-SC_OLD-ad8915f154d2ce6ba1b3a021b1725a0b0a671635.tar.gz
opensim-SC_OLD-ad8915f154d2ce6ba1b3a021b1725a0b0a671635.tar.bz2
opensim-SC_OLD-ad8915f154d2ce6ba1b3a021b1725a0b0a671635.tar.xz
Restructure god level and permissions
Create a class GodController which controls all aspects of god level, viewer modes and user levels at ScenePresence level.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs4
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs4
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs10
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs2
5 files changed, 11 insertions, 11 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
index 53800bb..adf5c68 100644
--- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
@@ -229,7 +229,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
229 fromPos = avatar.AbsolutePosition; 229 fromPos = avatar.AbsolutePosition;
230 fromName = avatar.Name; 230 fromName = avatar.Name;
231 fromID = c.Sender.AgentId; 231 fromID = c.Sender.AgentId;
232 if (avatar.GodLevel >= 200) 232 if (avatar.GodController.GodLevel >= 200)
233 { // let gods speak to outside or things may get confusing 233 { // let gods speak to outside or things may get confusing
234 fromNamePrefix = m_adminPrefix; 234 fromNamePrefix = m_adminPrefix;
235 checkParcelHide = false; 235 checkParcelHide = false;
@@ -305,7 +305,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
305 { 305 {
306 if (checkParcelHide) 306 if (checkParcelHide)
307 { 307 {
308 if (sourceParcelID != Presencecheck.LandData.GlobalID && presence.GodLevel < 200) 308 if (sourceParcelID != Presencecheck.LandData.GlobalID && presence.GodController.GodLevel < 200)
309 return; 309 return;
310 } 310 }
311 if (c.Sender == null || Presencecheck.IsEitherBannedOrRestricted(c.Sender.AgentId) != true) 311 if (c.Sender == null || Presencecheck.IsEitherBannedOrRestricted(c.Sender.AgentId) != true)
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs
index e5bf919..9843f2e 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs
@@ -118,7 +118,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
118 // If we're in god mode, we reverse the meaning. Offer 118 // If we're in god mode, we reverse the meaning. Offer
119 // calling card becomes "Take a calling card" for that 119 // calling card becomes "Take a calling card" for that
120 // person, no matter if they agree or not. 120 // person, no matter if they agree or not.
121 if (sp.GodLevel >= 200) 121 if (sp.GodController.GodLevel >= 200)
122 { 122 {
123 CreateCallingCard(client.AgentId, destID, UUID.Zero, true); 123 CreateCallingCard(client.AgentId, destID, UUID.Zero, true);
124 return; 124 return;
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs
index ac05a6e..82154bc 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs
@@ -141,7 +141,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
141 if (avatar == null) 141 if (avatar == null)
142 return; 142 return;
143 143
144 if (avatar.UserLevel < m_levelHGFriends) 144 if (avatar.GodController.UserLevel < m_levelHGFriends)
145 { 145 {
146 client.SendAgentAlertMessage("Unable to send friendship invitation to foreigner. Insufficient permissions.", false); 146 client.SendAgentAlertMessage("Unable to send friendship invitation to foreigner. Insufficient permissions.", false);
147 return; 147 return;
@@ -844,4 +844,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
844 return false; 844 return false;
845 } 845 }
846 } 846 }
847} \ No newline at end of file 847}
diff --git a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
index 8d3c10d..b7ae298 100644
--- a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
@@ -173,7 +173,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
173 173
174 sp.GrantGodlikePowers(token, godLike); 174 sp.GrantGodlikePowers(token, godLike);
175 175
176 if (godLike && sp.GodLevel < 200 && DialogModule != null) 176 if (godLike && sp.GodController.GodLevel < 200 && DialogModule != null)
177 DialogModule.SendAlertToUser(agentID, "Request for god powers denied"); 177 DialogModule.SendAlertToUser(agentID, "Request for god powers denied");
178 } 178 }
179 179
@@ -194,14 +194,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
194 int godlevel = 200; 194 int godlevel = 200;
195 // update level so higher gods can kick lower ones 195 // update level so higher gods can kick lower ones
196 ScenePresence god = m_scene.GetScenePresence(godID); 196 ScenePresence god = m_scene.GetScenePresence(godID);
197 if(god != null && god.GodLevel > godlevel) 197 if(god != null && god.GodController.GodLevel > godlevel)
198 godlevel = god.GodLevel; 198 godlevel = god.GodController.GodLevel;
199 199
200 if(agentID == ALL_AGENTS) 200 if(agentID == ALL_AGENTS)
201 { 201 {
202 m_scene.ForEachRootScenePresence(delegate(ScenePresence p) 202 m_scene.ForEachRootScenePresence(delegate(ScenePresence p)
203 { 203 {
204 if (p.UUID != godID && godlevel > p.GodLevel) 204 if (p.UUID != godID && godlevel > p.GodController.GodLevel)
205 doKickmodes(godID, p, kickflags, reason); 205 doKickmodes(godID, p, kickflags, reason);
206 }); 206 });
207 return; 207 return;
@@ -224,7 +224,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
224 return; 224 return;
225 } 225 }
226 226
227 if (godlevel <= sp.GodLevel) // no god wars 227 if (godlevel <= sp.GodController.GodLevel) // no god wars
228 return; 228 return;
229 229
230 if(sp.UUID == godID) 230 if(sp.UUID == godID)
diff --git a/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs b/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs
index c517a30..bd95ff0 100644
--- a/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs
@@ -169,7 +169,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure
169 169
170 GridInstantMessage m; 170 GridInstantMessage m;
171 171
172 if (scene.Permissions.IsAdministrator(client.AgentId) && presence.GodLevel >= 200 && (!scene.Permissions.IsAdministrator(targetid))) 172 if (scene.Permissions.IsAdministrator(client.AgentId) && presence.GodController.GodLevel >= 200 && (!scene.Permissions.IsAdministrator(targetid)))
173 { 173 {
174 m = new GridInstantMessage(scene, client.AgentId, 174 m = new GridInstantMessage(scene, client.AgentId,
175 client.FirstName+" "+client.LastName, targetid, 175 client.FirstName+" "+client.LastName, targetid,