**REPORTED** Possible Squirrel Hook bug.

AntMess97

Terrarian
Steam or GOG
Steam
Single Player/Multiplayer
Single
Operating System
Windows 10
Terraria Version
1.4.0.5
Controls Used
Keyboard/Mouse
Background Info
  • Windows 10
  • Terraria v1.4.0.5
  • Steam
  • Tested on Single Player
Brief Description
I discovered a possible bug with the squirrel hook; it's a possible bug because I'm not sure if it was designed to operate like this or not. In short, the squirrel hook will detach on its own (without you pressing the buttons that normally cause the hook to detach) if you hook to curved trees (I think). If this is how the squirrel hook is supposed to operate, you can save yourself from reading the rest of this post (unless you want to read my personal thoughts on the matter presented below). Thanks in advanced for taking the time to read this.

Analysis
For most trees, the hook grabs on and stays attached until you press one of the normal buttons that make a hook detach. However, for certain trees, the hook will attach and then detach from the tree automatically, providing the hook boost. From my experimentation, I believe it happens with trees that grow crooked. If I am correct, for trees that grow crooked enough the hook will attach and then detach from the tree. For all straight trees, however, the hook seems to stay attached. Note that since it seems to be happening with crooked trees, the only tree I found that the effect happened on was palm trees (both ocean and desert). I tried testing all the trees I had current access too (and that I could think of), and of those, the palm trees were the only trees that could grow crooked and also the only trees that occasionally performed the detachment.

Furthermore, the location of detachment seems to indicate what is happening. For the trees it does detach on, the hook seems to detach from the upper portion of the tree, but stays attached to the bottom portion. (I say portion because the ratio doesn't seem to be consistent across trees, e.g. half and half ratio for all trees.) From my own testing, I believe the detachment correlates with where the actual curve in the tree is happening. The bottom part of the tree before the curve and partway through the curve can be permanently attached to. However, when the curve of the tree gets far enough away from the center-line from the base of the tree, then the detaching seems to happen.

It should be noted that as I was testing my theory on the correlation between the curve distance from the center-line and the hook detachment, certain curved trees that I thought were curved enough to cause detachment actually did not cause detachment. As a result, further testing may be required if you need/want to prove my theory.

Test Video
I recorded a video of me testing the operation of the hook. In the video, I test the hook on every type of tree I could think of that I had access to in my world. Also, for the trees that it does detach on, I sort of show where it stays attached and where it detaches, though not in full detail. If you would like to see the video, please refer to the following link:


Personal Thoughts
Even if it is a bug, I personally kind of enjoy the operation. Talented players are able to use the hook to boost them up to max speed faster than the player accelerates just by walking. However, trees normally grow so close together that I don't think you can use them to boost yourself. (I'm not the best at using hooks to boost, so I can't say this with certainty.) So having some of the trees automatically detach you is nice with regards to being able to give you a boost.

It also gives a sort of Tarzan feel to it as if you are swinging through the trees. However, you only receive this functionality with palm trees. This means that in order to feel this throughout the rest of the world, (like Tarzan's natural habitat, the jungle), you would have to place sand blocks for the trees to grow on, and then keep breaking the trees until you get one crooked enough to perform the boost on. Also, you'd have the weird aesthetic of having palm trees in the jungle and such (something that might drive Redigit and others nuts in the same way as not using the appropriate torches for a biome).

If this boosting feature is liked enough where it became desirable to add it to the game, one option would be to change the hook so that it no longer stayed attached to any trees. However, the ability to stay permanently hooked to trees also has its own applications in which it is more desirable than boosting. As a result, if the boosting feature does get added to the game, a neat option I can think of is code it so that both operations (staying attached and boosting) can be done on all trees.

There are multiple ways this could be done (though I'm sure you already know this and are quite good at coming up with multiple options when implementing an idea). One could have it where pressing the grapple button does one operation while holding the button does the second. Or a combination of the grapple button and another button lets you perform the second operation.

A third way would be to tie the operation to the toggle for the smart cursor, i.e. the smart cursor being on/off affects the operation mode of the squirrel hook. If this was the case, it would probably be desired that the hook would stay in the current operation mode until detached. If a person was attached to the tree and wanted to switch the smart cursor toggle to be able to better build or something, you wouldn't want it to detach the person.

A fourth way I could think of would be to change the jump button operation with regards to this hook specifically. Normally, the jump button causes the hook to detach immediately. However, you could make it where pressing the jump button leaves the hook still attached until right before the person reaches the hook, causing the boost to be performed. The jump button could be pressed either anytime after the grapple button is pressed (pressing it during falls under my second method already described) or anytime after the hook attaches.

A final way could be related to the location of the cursor. If the cursor is directly over a tree block, the hook will remain attached to the tree, but if the cursor is over air, the hook will detach as needed to boost the player.

In all of the above cases, this relates specifically to how the hook operates on trees. It's operation on non-tree blocks would likely remain the same as the other hooks to make it not feel too overpowered (since having it perform the boost for you instead of you needing to get the timing right may be considered overpowered). Also, if a change gets made, then the hook's placement in the progression may want to be reconsidered for balancing purposes. (You may not want players able to boost themselves off of trees too early on.)

Finally, if players are already able to boost pretty well off of trees with the hook, then no change would need to be made. Again, I was kind of assuming that the close proximity of the trees made it hard to perform a boost off of the trees, but I'm not the best at using hooks to boost, so my guess may not be accurate.

Ultimately, this is still your game, so any decisions on what you want to do is entirely up to you. I just discovered an operation that seemed inconsistent enough where I assumed it wasn't coded to behave that way. Additionally, I wanted to share my personal feelings on the matter as I found it cool feeling like Tarzan boosting myself from some of the trees and thought it might fit nicely with a hook that is designed to attach to trees. Any decisions on whether to completely remove, keep as is, or fully implement this unique operation is entirely up to you.

Thanks again for taking the time to read my post. Enjoy your day!

-AntMess97
 
I didn't read the text, but based on the video: Yep, looks like a bug.
Doesn't makes sense that you can have the squirrel hook work on the lower part of the palm tree, and the upper part It doesn't works.
 
Back
Top Bottom