* 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.
This commit is contained in:
Teravus Ovares
2008-01-04 02:24:05 +00:00
parent 42e129cb33
commit 960b7e93b1
7 changed files with 138 additions and 33 deletions

View File

@@ -133,6 +133,14 @@ namespace OpenSim.Region.ClientStack
get { return m_agentId; }
}
/// <summary>
/// This is a utility method used by single states to not duplicate kicks and blue card of death messages.
/// </summary>
public bool ChildAgentStatus()
{
return m_scene.PresenceChildStatus(AgentId);
}
/// <summary>
/// First name of the agent/avatar represented by the client
/// </summary>
@@ -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);