Description of issue:
In the current version of Terraria (1.4.4.9 PC), and I believe since 1.4.4, the range for quick stacking to nearby chests is ~37. This is verified by both the wiki and my own personal tests.
However, on servers using TShock, the quick stack range is maximally 32 by my own measurements.
Expected problem and fix:
Quick stack range checkIsInRange
The code at the first link runs when a player tries to quick stack. If the chest is not in range, it returns without allowing the player.
The function IsInRange is called without a supplied value for range, and so defaults to 32. Adding a range value of, say, 40 on line 685 should fix this issue.
Reproduction steps (if applicable)?
Go to an isolated area.
Place a chest down and place gray bricks in it, leaving some in your personal inventory.
Walk a distance away using the ruler tool.
While, say, 35 tiles away, open your inventory.
Click the "Quick Stack to Nearby Chests" button.
Observe that the gray bricks in your inventory do not quick stack to the chest.
Any stack traces or error messages (if known)?
None, nor would I expect any.
Any screenshots?
Fig. 1 - Showing setup of inventories.
Fig. 2 - At range of 35 tiles, quick stacking to nearby chests does not work.
Fig. 3 - Now at a range of 32.
Fig. 4 - At the range of 32, you can now quick stack to the chest.
Actually, this check is unnecessary. The client only sends the slot, and the server determines which chest to use and checks for the range (Distance(player, chest) < 600) before this hook.
TShock version: 5.1.3.0
TShock build number (if known):
Description of issue: In the current version of Terraria (1.4.4.9 PC), and I believe since 1.4.4, the range for quick stacking to nearby chests is ~37. This is verified by both the wiki and my own personal tests. However, on servers using TShock, the quick stack range is maximally 32 by my own measurements.
Expected problem and fix: Quick stack range check IsInRange The code at the first link runs when a player tries to quick stack. If the chest is not in range, it returns without allowing the player. The function IsInRange is called without a supplied value for range, and so defaults to 32. Adding a range value of, say, 40 on line 685 should fix this issue.
Reproduction steps (if applicable)?
Any stack traces or error messages (if known)?
None, nor would I expect any.
Any screenshots?