aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs35
1 files changed, 27 insertions, 8 deletions
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
134 } 134 }
135 135
136 /// <summary> 136 /// <summary>
137 /// This is a utility method used by single states to not duplicate kicks and blue card of death messages.
138 /// </summary>
139 public bool ChildAgentStatus()
140 {
141 return m_scene.PresenceChildStatus(AgentId);
142 }
143
144 /// <summary>
137 /// First name of the agent/avatar represented by the client 145 /// First name of the agent/avatar represented by the client
138 /// </summary> 146 /// </summary>
139 public string FirstName 147 public string FirstName
@@ -257,13 +265,16 @@ namespace OpenSim.Region.ClientStack
257 265
258 public void Kick(string message) 266 public void Kick(string message)
259 { 267 {
260 KickUserPacket kupack = (KickUserPacket) PacketPool.Instance.GetPacket(PacketType.KickUser); 268 if (!ChildAgentStatus())
261 kupack.UserInfo.AgentID = AgentId; 269 {
262 kupack.UserInfo.SessionID = SessionId; 270 KickUserPacket kupack = (KickUserPacket)PacketPool.Instance.GetPacket(PacketType.KickUser);
263 kupack.TargetBlock.TargetIP = (uint) 0; 271 kupack.UserInfo.AgentID = AgentId;
264 kupack.TargetBlock.TargetPort = (ushort) 0; 272 kupack.UserInfo.SessionID = SessionId;
265 kupack.UserInfo.Reason = Helpers.StringToField(message); 273 kupack.TargetBlock.TargetIP = (uint)0;
266 OutPacket(kupack, ThrottleOutPacketType.Task); 274 kupack.TargetBlock.TargetPort = (ushort)0;
275 kupack.UserInfo.Reason = Helpers.StringToField(message);
276 OutPacket(kupack, ThrottleOutPacketType.Task);
277 }
267 } 278 }
268 279
269 public void Stop() 280 public void Stop()
@@ -2786,7 +2797,7 @@ namespace OpenSim.Region.ClientStack
2786 { 2797 {
2787 ObjectAddPacket addPacket = (ObjectAddPacket) Pack; 2798 ObjectAddPacket addPacket = (ObjectAddPacket) Pack;
2788 PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket); 2799 PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket);
2789 MainLog.Instance.Verbose("REZData", addPacket.ToString()); 2800 // MainLog.Instance.Verbose("REZData", addPacket.ToString());
2790 //BypassRaycast: 1 2801 //BypassRaycast: 1
2791 //RayStart: <69.79469, 158.2652, 98.40343> 2802 //RayStart: <69.79469, 158.2652, 98.40343>
2792 //RayEnd: <61.97724, 141.995, 92.58341> 2803 //RayEnd: <61.97724, 141.995, 92.58341>
@@ -3585,6 +3596,14 @@ namespace OpenSim.Region.ClientStack
3585 return shape; 3596 return shape;
3586 } 3597 }
3587 3598
3599 public void SendBlueBoxMessage(LLUUID FromAvatarID, LLUUID fromSessionID, String FromAvatarName, String Message)
3600 {
3601 if (!ChildAgentStatus())
3602 SendInstantMessage(FromAvatarID, fromSessionID, Message, AgentId, SessionId, FromAvatarName, (byte)1, (uint)Util.UnixTimeSinceEpoch());
3603
3604 //SendInstantMessage(FromAvatarID, fromSessionID, Message, AgentId, SessionId, FromAvatarName, (byte)21,(uint) Util.UnixTimeSinceEpoch());
3605 }
3606
3588 public void SendLogoutPacket() 3607 public void SendLogoutPacket()
3589 { 3608 {
3590 LogoutReplyPacket logReply = (LogoutReplyPacket) PacketPool.Instance.GetPacket(PacketType.LogoutReply); 3609 LogoutReplyPacket logReply = (LogoutReplyPacket) PacketPool.Instance.GetPacket(PacketType.LogoutReply);