From 960b7e93b1fd48f240a11343716dc0be7e7b782d Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Fri, 4 Jan 2008 02:24:05 +0000 Subject: * Added the ability for estate managers to use the magic secondlife blue card of death to send out region and estate messages. * Switched over Region Restart notices to the magic secondlife blue card of death method. --- OpenSim/Region/ClientStack/ClientView.cs | 35 ++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'OpenSim/Region/ClientStack/ClientView.cs') diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 7bdbb67..c2c514e 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs @@ -134,6 +134,14 @@ namespace OpenSim.Region.ClientStack } /// + /// This is a utility method used by single states to not duplicate kicks and blue card of death messages. + /// + public bool ChildAgentStatus() + { + return m_scene.PresenceChildStatus(AgentId); + } + + /// /// First name of the agent/avatar represented by the client /// public string FirstName @@ -257,13 +265,16 @@ namespace OpenSim.Region.ClientStack public void Kick(string message) { - KickUserPacket kupack = (KickUserPacket) PacketPool.Instance.GetPacket(PacketType.KickUser); - kupack.UserInfo.AgentID = AgentId; - kupack.UserInfo.SessionID = SessionId; - kupack.TargetBlock.TargetIP = (uint) 0; - kupack.TargetBlock.TargetPort = (ushort) 0; - kupack.UserInfo.Reason = Helpers.StringToField(message); - OutPacket(kupack, ThrottleOutPacketType.Task); + if (!ChildAgentStatus()) + { + KickUserPacket kupack = (KickUserPacket)PacketPool.Instance.GetPacket(PacketType.KickUser); + kupack.UserInfo.AgentID = AgentId; + kupack.UserInfo.SessionID = SessionId; + kupack.TargetBlock.TargetIP = (uint)0; + kupack.TargetBlock.TargetPort = (ushort)0; + kupack.UserInfo.Reason = Helpers.StringToField(message); + OutPacket(kupack, ThrottleOutPacketType.Task); + } } public void Stop() @@ -2786,7 +2797,7 @@ namespace OpenSim.Region.ClientStack { ObjectAddPacket addPacket = (ObjectAddPacket) Pack; PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket); - MainLog.Instance.Verbose("REZData", addPacket.ToString()); + // MainLog.Instance.Verbose("REZData", addPacket.ToString()); //BypassRaycast: 1 //RayStart: <69.79469, 158.2652, 98.40343> //RayEnd: <61.97724, 141.995, 92.58341> @@ -3585,6 +3596,14 @@ namespace OpenSim.Region.ClientStack return shape; } + public void SendBlueBoxMessage(LLUUID FromAvatarID, LLUUID fromSessionID, String FromAvatarName, String Message) + { + if (!ChildAgentStatus()) + SendInstantMessage(FromAvatarID, fromSessionID, Message, AgentId, SessionId, FromAvatarName, (byte)1, (uint)Util.UnixTimeSinceEpoch()); + + //SendInstantMessage(FromAvatarID, fromSessionID, Message, AgentId, SessionId, FromAvatarName, (byte)21,(uint) Util.UnixTimeSinceEpoch()); + } + public void SendLogoutPacket() { LogoutReplyPacket logReply = (LogoutReplyPacket) PacketPool.Instance.GetPacket(PacketType.LogoutReply); -- cgit v1.1