Merge pull request #1269 from ProfessorXZ/general-devel

Fix rope placement range checks and DCU not breaking tiles. Fixes #1155 and #1236
This commit is contained in:
White 2016-08-09 21:21:29 +09:30 committed by GitHub
commit 599b8abe2a
2 changed files with 8 additions and 6 deletions

View file

@ -16,6 +16,8 @@ This is the rolling changelog for TShock for Terraria. Use past tense when addin
* Fixed an issue allowing clients to teleport NPCs to arbitrary locations (@ProfessorXZ) * Fixed an issue allowing clients to teleport NPCs to arbitrary locations (@ProfessorXZ)
* Fixed a bug where players would get teleported to their previous location after dismounting the Unicorn Mount (@ProfessorXZ) * Fixed a bug where players would get teleported to their previous location after dismounting the Unicorn Mount (@ProfessorXZ)
* Players can no longer quick stack items into region protected chests (@ProfessorXZ) * Players can no longer quick stack items into region protected chests (@ProfessorXZ)
* Rope placement is no longer blocked by range checks (@ProfessorXZ)
* The Drill Containment Unit breaks blocks properly now (@ProfessorXZ)
## TShock 4.3.17 ## TShock 4.3.17

View file

@ -2013,7 +2013,7 @@ namespace TShockAPI
return true; return true;
} }
// If the tile is a pickaxe tile and they aren't selecting a pickaxe, they're hacking. // If the tile is a pickaxe tile and they aren't selecting a pickaxe, they're hacking.
else if ((!Main.tileAxe[tile.type] && !Main.tileHammer[tile.type]) && tile.wall == 0 && (selectedItem.pick == 0 && !ItemID.Sets.Explosives[selectedItem.netID] && args.Player.RecentFuse == 0)) else if ((!Main.tileAxe[tile.type] && !Main.tileHammer[tile.type]) && tile.wall == 0 && ((args.TPlayer.mount.Type != 8 && selectedItem.pick == 0) && !ItemID.Sets.Explosives[selectedItem.netID] && args.Player.RecentFuse == 0))
{ {
args.Player.SendTileSquare(tileX, tileY, 4); args.Player.SendTileSquare(tileX, tileY, 4);
return true; return true;
@ -2021,7 +2021,7 @@ namespace TShockAPI
} }
else if (action == EditAction.KillWall) else if (action == EditAction.KillWall)
{ {
// If they aren't selecting an hammer, they could be hacking. // If they aren't selecting a hammer, they could be hacking.
if (selectedItem.hammer == 0 && !ItemID.Sets.Explosives[selectedItem.netID] && args.Player.RecentFuse == 0 && selectedItem.createWall == 0) if (selectedItem.hammer == 0 && !ItemID.Sets.Explosives[selectedItem.netID] && args.Player.RecentFuse == 0 && selectedItem.createWall == 0)
{ {
@ -2144,10 +2144,10 @@ namespace TShockAPI
// Ignore rope placement range // Ignore rope placement range
if ((editData != TileID.Rope if ((editData != TileID.Rope
|| editData != TileID.SilkRope && editData != TileID.SilkRope
|| editData != TileID.VineRope && editData != TileID.VineRope
|| editData != TileID.WebRope && editData != TileID.WebRope
|| action != EditAction.PlaceTile) && action == EditAction.PlaceTile)
&& TShock.CheckRangePermission(args.Player, tileX, tileY)) && TShock.CheckRangePermission(args.Player, tileX, tileY))
{ {
args.Player.SendTileSquare(tileX, tileY, 4); args.Player.SendTileSquare(tileX, tileY, 4);