I thought about such an arrow before (played the Batman games
) and it is doable via scripting me thinks, although I never tried to implement it.
Having an animated rope for it to look good as suggested by demagogue is a way to get a good looking result, but for that purpose you would need to create the specific animation in a modeling program (which would be beyond my capabilities, but you might be able to do it, or you could ask someone else for help here). But it might be possible to get it to work without that.
The implementation depends on how exactly you want the arrow to work. Assuming you are aiming for an Batman like approach the behaviour would be like this:
- with the arrow equipped, the game would inform the player whether the arrow would yield the desired result at the point the player is currently aiming at
- if the arow gets shot, once it hits the wall or whatever, a rope or similar gets shot backwards and hits the wall there, creating a connection for the player to use
From this approach on, an implementation needs to have the following features:
- when the player cocks the bow, an invisible projectile is shot at the point the arrow would hit; from there, a projectile is shot backwards; now you have to points where the projectiles hit, and the script can check whether the distant is small enough for the arrow to deploy; if so, an gui overlay at the first impact point is created to inform the player that he can use the arrow there, otherwise the same gui would inform the player that the distance is too high (the gui is optional, but might be worthwhile as this is a feature unknown to the players)
- in case the distance is fine if the arrow is shot at the opposing wall, you have either an animated rope as mentioned above or some other setup that creates the backwards shooting rope
- the rope connecting the two opposing walls need a ladder texture in addition to its visual textures (ladder textures are invisible but needed so the player can climb something)
Note that this sort of code will require quiet some math to get it to work properly. Also note that the implementation must account for different distances between the walls the rope is deployed. Code changes are unneccessary.
My advice is to try to create a basic setup as a proof of concept to see whether the implementation works. Once you've done this you can work on the other parts to get it to look right.
If this is something you want to add to your own FM, than you don't have to discuss this with the team. You can do whatever you want in your own FM's. If you want this to get added to the core mod, you will have to discuss this with the team. In the latter case, you should provide a detailed description on how the new arrow should work.