Add more paint tools and womannequins

This commit is contained in:
Zack Piispanen 2014-05-10 17:00:41 -04:00
parent d413b24b22
commit c259d4827e
2 changed files with 26 additions and 6 deletions

View file

@ -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
/// <summary>
/// Tiles that can be oriented (e.g., beds, chairs, bathtubs, etc).
/// </summary>
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
/// <summary>
/// Tiles that can be broken without any tools.
/// </summary>
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 };
/// <summary>
/// The maximum place styles for each tile.
/// </summary>
@ -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;

View file

@ -369,6 +369,15 @@ namespace TShockAPI
}
}
public IEnumerable<Item> Accessories
{
get
{
for (int i = 3; i < 8; i++)
yield return TPlayer.armor[i];
}
}
/// <summary>
/// Saves the player's inventory to SSI
/// </summary>