Compute max place styles on initialization

This commit is contained in:
MarioE 2013-11-07 22:58:34 -05:00
parent fead716d6c
commit 8c3ae80184
3 changed files with 24 additions and 10 deletions

View file

@ -1755,6 +1755,10 @@ namespace TShockAPI
/// Tiles that can be broken without any tools.
/// </summary>
private static byte[] breakableTiles = new byte[] { 4, 13, 33, 49, 50, 127, 128, 162 };
/// <summary>
/// The maximum place styles for each tile.
/// </summary>
public static Dictionary<int, int> MaxPlaceStyles = new Dictionary<int, int>();
private static bool HandleTile(GetDataHandlerArgs args)
{
@ -1884,14 +1888,8 @@ namespace TShockAPI
}
else if (action == EditAction.PlaceTile || action == EditAction.PlaceWall)
{
if (action == EditAction.PlaceTile && TShock.Config.PreventInvalidPlaceStyle && ((editData == 4 && style > 11) ||
(editData == 13 && style > 4) || (editData == 15 && style > 25) || (editData == 21 && style > 22) ||
(editData == 82 && style > 5) || (editData == 91 && style > 108) || (editData == 105 && style > 49) ||
(editData == 135 && style > 6) || (editData == 139 && style > 27) || (editData == 144 && style > 2) ||
(editData == 149 && style > 2) || (editData == 137 && style > 4) || (editData == 79 && style > 12) ||
(editData == 10 && style > 25) || (editData == 14 && style > 22) || (editData == 18 && style > 17) ||
(editData == 19 && style > 16) || (editData == 34 && style > 6) || (editData == 42 && style > 10) ||
(editData == 96 && style > 1)))
if (action == EditAction.PlaceTile && TShock.Config.PreventInvalidPlaceStyle &&
MaxPlaceStyles.ContainsKey(editData) && style > MaxPlaceStyles[editData])
{
args.Player.SendTileSquare(tileX, tileY, 4);
return true;