diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index eda91184..b0b56eb6 100755 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -25,6 +25,7 @@ using System.IO.Streams; using System.Linq; using System.Text; using System.Threading.Tasks; +using Terraria.ID; using TShockAPI.DB; using TShockAPI.Net; using Terraria; @@ -1613,7 +1614,7 @@ namespace TShockAPI /// /// Tiles that can be oriented (e.g., beds, chairs, bathtubs, etc). /// - private static int[] orientableTiles = new int[] { 15, 79, 90, 105, 128, 137, 139, 171, 207, 209, 314 }; + private static int[] orientableTiles = new int[] { 15, 79, 90, 105, TileID.Mannequin, 137, 139, 171, 207, 209, 314, TileID.Womannequin }; private static bool HandleSendTileSquare(GetDataHandlerArgs args) { @@ -1769,7 +1770,7 @@ namespace TShockAPI /// /// Tiles that can be broken without any tools. /// - private static int[] breakableTiles = new int[] { 4, 13, 33, 49, 50, 127, 128, 162 }; + private static int[] breakableTiles = new int[] { 4, 13, 33, 49, 50, 127, TileID.Mannequin, 162, TileID.Womannequin }; /// /// The maximum place styles for each tile. /// @@ -3357,8 +3358,13 @@ namespace TShockAPI } // Not selecting paintbrush or paint scraper or the spectre versions? Hacking. - if (args.Player.SelectedItem.type != 1071 && args.Player.SelectedItem.type != 1100 && - args.Player.SelectedItem.type != 1543 && args.Player.SelectedItem.type != 1545) + if (args.Player.SelectedItem.type != ItemID.PaintRoller && + args.Player.SelectedItem.type != ItemID.PaintScraper && + args.Player.SelectedItem.type != ItemID.Paintbrush && + args.Player.SelectedItem.type != ItemID.SpectrePaintRoller && + args.Player.SelectedItem.type != ItemID.SpectrePaintScraper && + args.Player.SelectedItem.type != ItemID.SpectrePaintbrush && + !args.Player.Accessories.Any(i => i != null && i.stack > 0 && i.type == ItemID.PaintSprayer)) { args.Player.SendData(PacketTypes.PaintTile, "", x, y, Main.tile[x, y].color()); return true; @@ -3395,8 +3401,13 @@ namespace TShockAPI } // Not selecting paint roller or paint scraper or the spectre versions? Hacking. - if (args.Player.SelectedItem.type != 1072 && args.Player.SelectedItem.type != 1100 && - args.Player.SelectedItem.type != 1544 && args.Player.SelectedItem.type != 1545) + if (args.Player.SelectedItem.type != ItemID.PaintRoller && + args.Player.SelectedItem.type != ItemID.PaintScraper && + args.Player.SelectedItem.type != ItemID.Paintbrush && + args.Player.SelectedItem.type != ItemID.SpectrePaintRoller && + args.Player.SelectedItem.type != ItemID.SpectrePaintScraper && + args.Player.SelectedItem.type != ItemID.SpectrePaintbrush && + !args.Player.Accessories.Any(i => i != null && i.stack > 0 && i.type == ItemID.PaintSprayer)) { args.Player.SendData(PacketTypes.PaintWall, "", x, y, Main.tile[x, y].wallColor()); return true; diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index 7f6bc8d6..48eeaaa7 100755 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -369,6 +369,15 @@ namespace TShockAPI } } + public IEnumerable Accessories + { + get + { + for (int i = 3; i < 8; i++) + yield return TPlayer.armor[i]; + } + } + /// /// Saves the player's inventory to SSI ///