aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs23
-rw-r--r--OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs1
2 files changed, 24 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
index 3dddc2b..616132b 100644
--- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
@@ -383,6 +383,28 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
383 } 383 }
384 } 384 }
385 385
386 private void handleEstateTeleportAllUsersHomeRequest(IClientAPI remover_client, UUID invoice, UUID senderID)
387 {
388 // Get a fresh list that will not change as people get teleported away
389 List<ScenePresence> prescences = m_scene.GetScenePresences();
390 foreach (ScenePresence p in prescences)
391 {
392 if (p.UUID != senderID)
393 {
394 // make sure they are still there, we could be working down a long list
395 ScenePresence s = m_scene.GetScenePresence(p.UUID);
396 if (s != null)
397 {
398 // Also make sure they are actually in the region
399 if (!s.IsChildAgent)
400 {
401 m_scene.TeleportClientHome(s.UUID, s.ControllingClient);
402 }
403 }
404 }
405 }
406 }
407
386 private void HandleRegionInfoRequest(IClientAPI remote_client) 408 private void HandleRegionInfoRequest(IClientAPI remote_client)
387 { 409 {
388 410
@@ -723,6 +745,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
723 client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage; 745 client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage;
724 client.OnEstateDebugRegionRequest += handleEstateDebugRegionRequest; 746 client.OnEstateDebugRegionRequest += handleEstateDebugRegionRequest;
725 client.OnEstateTeleportOneUserHomeRequest += handleEstateTeleportOneUserHomeRequest; 747 client.OnEstateTeleportOneUserHomeRequest += handleEstateTeleportOneUserHomeRequest;
748 client.OnEstateTeleportAllUsersHomeRequest += handleEstateTeleportAllUsersHomeRequest;
726 749
727 client.OnRegionInfoRequest += HandleRegionInfoRequest; 750 client.OnRegionInfoRequest += HandleRegionInfoRequest;
728 client.OnEstateCovenantRequest += HandleEstateCovenantRequest; 751 client.OnEstateCovenantRequest += HandleEstateCovenantRequest;
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index 8c76884..9476571 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -305,6 +305,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
305 public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; 305 public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest;
306 public event EstateDebugRegionRequest OnEstateDebugRegionRequest; 306 public event EstateDebugRegionRequest OnEstateDebugRegionRequest;
307 public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; 307 public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest;
308 public event EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest;
308 public event EstateChangeInfo OnEstateChangeInfo; 309 public event EstateChangeInfo OnEstateChangeInfo;
309 public event ScriptReset OnScriptReset; 310 public event ScriptReset OnScriptReset;
310 public event GetScriptRunning OnGetScriptRunning; 311 public event GetScriptRunning OnGetScriptRunning;