From 0a1e831fba4d1ff7c6df9b8a45c90b0d301d4481 Mon Sep 17 00:00:00 2001 From: DogooFalchion Date: Wed, 21 Dec 2016 21:16:00 -0500 Subject: [PATCH] Add rope coils and the ropes they place to the tile create exceptions. Fixes #1352 --- TShockAPI/GetDataHandlers.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index cead709a..0a11d898 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -1940,6 +1940,14 @@ namespace TShockAPI { ProjectileID.CrimsandBallGun, TileID.Crimsand }, }; + private static Dictionary ropeCoilPlacements = new Dictionary + { + {ItemID.RopeCoil, TileID.Rope}, + {ItemID.SilkRopeCoil, TileID.SilkRope}, + {ItemID.VineRopeCoil, TileID.VineRope}, + {ItemID.WebRopeCoil, TileID.WebRope} + }; + /// /// Extra place style limits for strange hardcoded values in Terraria /// @@ -2115,7 +2123,8 @@ namespace TShockAPI // If they aren't selecting the item which creates the tile or wall, they're hacking. if (!(selectedItem.netID == ItemID.IceRod && editData == TileID.MagicalIceBlock) && - editData != (action == EditAction.PlaceTile ? selectedItem.createTile : selectedItem.createWall)) + (editData != (action == EditAction.PlaceTile ? selectedItem.createTile : selectedItem.createWall) && + !(ropeCoilPlacements.ContainsKey(selectedItem.netID) && editData == ropeCoilPlacements[selectedItem.netID]))) { args.Player.SendTileSquare(tileX, tileY, 4); return true;