aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2017-08-24 01:30:57 +0100
committerUbitUmarov2017-08-24 01:30:57 +0100
commit74524cb3be8ffcc4a0debf2091ab71517a7a4791 (patch)
tree84e1fa2d5fab95cc6c9a2017cdb0da4e779efb58
parentmantis 8233: media changes flag object updated in region db (diff)
downloadopensim-SC_OLD-74524cb3be8ffcc4a0debf2091ab71517a7a4791.zip
opensim-SC_OLD-74524cb3be8ffcc4a0debf2091ab71517a7a4791.tar.gz
opensim-SC_OLD-74524cb3be8ffcc4a0debf2091ab71517a7a4791.tar.bz2
opensim-SC_OLD-74524cb3be8ffcc4a0debf2091ab71517a7a4791.tar.xz
(un)eject flag is only lowest bit, only protect active gods from freeze; do not check landing point (telehubs) on eject.
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs6
1 files changed, 3 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
index f422708..95b1af9 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
@@ -2204,12 +2204,12 @@ namespace OpenSim.Region.CoreModules.World.Land
2204 ((Scene)client.Scene).TryGetScenePresence(client.AgentId, out parcelManager); 2204 ((Scene)client.Scene).TryGetScenePresence(client.AgentId, out parcelManager);
2205 System.Threading.Timer Timer; 2205 System.Threading.Timer Timer;
2206 2206
2207 if (targetAvatar.GodController.UserLevel == 0) 2207 if (targetAvatar.GodController.UserLevel < 200)
2208 { 2208 {
2209 ILandObject land = ((Scene)client.Scene).LandChannel.GetLandObject(targetAvatar.AbsolutePosition.X, targetAvatar.AbsolutePosition.Y); 2209 ILandObject land = ((Scene)client.Scene).LandChannel.GetLandObject(targetAvatar.AbsolutePosition.X, targetAvatar.AbsolutePosition.Y);
2210 if (!((Scene)client.Scene).Permissions.CanEditParcelProperties(client.AgentId, land, GroupPowers.LandEjectAndFreeze, true)) 2210 if (!((Scene)client.Scene).Permissions.CanEditParcelProperties(client.AgentId, land, GroupPowers.LandEjectAndFreeze, true))
2211 return; 2211 return;
2212 if (flags == 0) 2212 if ((flags & 1) == 0) // only lowest bit has meaning for now
2213 { 2213 {
2214 targetAvatar.AllowMovement = false; 2214 targetAvatar.AllowMovement = false;
2215 targetAvatar.ControllingClient.SendAlertMessage(parcelManager.Firstname + " " + parcelManager.Lastname + " has frozen you for 30 seconds. You cannot move or interact with the world."); 2215 targetAvatar.ControllingClient.SendAlertMessage(parcelManager.Firstname + " " + parcelManager.Lastname + " has frozen you for 30 seconds. You cannot move or interact with the world.");
@@ -2261,7 +2261,7 @@ namespace OpenSim.Region.CoreModules.World.Land
2261 2261
2262 Vector3 pos = m_scene.GetNearestAllowedPosition(targetAvatar, land); 2262 Vector3 pos = m_scene.GetNearestAllowedPosition(targetAvatar, land);
2263 2263
2264 targetAvatar.TeleportWithMomentum(pos, null); 2264 targetAvatar.TeleportOnEject(pos);
2265 targetAvatar.ControllingClient.SendAlertMessage("You have been ejected by " + parcelManager.Firstname + " " + parcelManager.Lastname); 2265 targetAvatar.ControllingClient.SendAlertMessage("You have been ejected by " + parcelManager.Firstname + " " + parcelManager.Lastname);
2266 parcelManager.ControllingClient.SendAlertMessage("Avatar Ejected."); 2266 parcelManager.ControllingClient.SendAlertMessage("Avatar Ejected.");
2267 2267