Fix a few issues

This commit is contained in:
MarioE 2013-10-31 23:46:29 -04:00
parent cf1feb9357
commit 416ce98518
3 changed files with 34 additions and 3 deletions

View file

@ -3087,7 +3087,7 @@ namespace TShockAPI
foreach (TSPlayer tsplr in TShock.Players) foreach (TSPlayer tsplr in TShock.Players)
{ {
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.manageregion)) if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.manageregion))
tsplr.SendRaptorRegionDelete(regionName); tsplr.SendRaptorRegionDeletion(regionName);
} }
} }
else else

View file

@ -3410,14 +3410,25 @@ namespace TShockAPI
int height = args.Data.ReadInt32(); int height = args.Data.ReadInt32();
string regionName = args.Data.ReadString(); string regionName = args.Data.ReadString();
if (TShock.Regions.GetRegionByName(regionName) == null) Region region;
if ((region = TShock.Regions.GetRegionByName(regionName)) == null)
{ {
TShock.Regions.AddRegion(x, y, width, height, regionName, args.Player.UserAccountName, Main.worldID.ToString()); TShock.Regions.AddRegion(x, y, width, height, regionName, args.Player.UserAccountName, Main.worldID.ToString());
foreach (TSPlayer tsplr in TShock.Players)
{
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.manageregion) && tsplr != args.Player)
tsplr.SendRaptorRegion(TShock.Regions.GetRegionByName(regionName));
}
Log.Info("{0} added region \"{1}\".", args.Player.UserAccountName, regionName); Log.Info("{0} added region \"{1}\".", args.Player.UserAccountName, regionName);
} }
else else
{ {
TShock.Regions.PositionRegion(regionName, x, y, width, height); TShock.Regions.PositionRegion(regionName, x, y, width, height);
foreach (TSPlayer tsplr in TShock.Players)
{
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.manageregion) && tsplr != args.Player)
tsplr.SendRaptorRegion(region);
}
Log.Info("{0} moved region \"{1}\".", args.Player.UserAccountName, regionName); Log.Info("{0} moved region \"{1}\".", args.Player.UserAccountName, regionName);
} }
} }
@ -3427,6 +3438,11 @@ namespace TShockAPI
{ {
string regionName = args.Data.ReadString(); string regionName = args.Data.ReadString();
TShock.Regions.DeleteRegion(regionName); TShock.Regions.DeleteRegion(regionName);
foreach (TSPlayer tsplr in TShock.Players)
{
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.manageregion) && tsplr != args.Player)
tsplr.SendRaptorRegionDeletion(regionName);
}
Log.Info("{0} deleted region \"{1}\".", args.Player.UserAccountName, regionName); Log.Info("{0} deleted region \"{1}\".", args.Player.UserAccountName, regionName);
} }
return true; return true;
@ -3442,11 +3458,21 @@ namespace TShockAPI
if (warp.WarpPos == Vector2.Zero) if (warp.WarpPos == Vector2.Zero)
{ {
TShock.Warps.AddWarp(x, y, warpName, Main.worldID.ToString()); TShock.Warps.AddWarp(x, y, warpName, Main.worldID.ToString());
foreach (TSPlayer tsplr in TShock.Players)
{
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.managewarp) && tsplr != args.Player)
tsplr.SendRaptorWarp(TShock.Warps.FindWarp(warpName));
}
Log.Info("{0} added warp \"{1}\".", args.Player.UserAccountName, warpName); Log.Info("{0} added warp \"{1}\".", args.Player.UserAccountName, warpName);
} }
else else
{ {
TShock.Warps.PositionWarp(warpName, x, y); TShock.Warps.PositionWarp(warpName, x, y);
foreach (TSPlayer tsplr in TShock.Players)
{
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.managewarp) && tsplr != args.Player)
tsplr.SendRaptorWarp(warp);
}
Log.Info("{0} moved warp \"{1}\".", args.Player.UserAccountName, warpName); Log.Info("{0} moved warp \"{1}\".", args.Player.UserAccountName, warpName);
} }
} }
@ -3456,6 +3482,11 @@ namespace TShockAPI
{ {
string warpName = args.Data.ReadString(); string warpName = args.Data.ReadString();
TShock.Warps.RemoveWarp(warpName); TShock.Warps.RemoveWarp(warpName);
foreach (TSPlayer tsplr in TShock.Players)
{
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.managewarp) && tsplr != args.Player)
tsplr.SendRaptorWarpDeletion(warpName);
}
Log.Info("{0} deleted warp \"{1}\".", args.Player.UserAccountName, warpName); Log.Info("{0} deleted warp \"{1}\".", args.Player.UserAccountName, warpName);
} }
return true; return true;

View file

@ -962,7 +962,7 @@ namespace TShockAPI
/// Sends a region deletion to the player. /// Sends a region deletion to the player.
/// <param name="regionName">The region name.</param> /// <param name="regionName">The region name.</param>
/// </summary> /// </summary>
public void SendRaptorRegionDelete(string regionName) public void SendRaptorRegionDeletion(string regionName)
{ {
if (!IsRaptor) if (!IsRaptor)
return; return;