Is your feature request related to a problem? Please describe.
Roofs are now becoming a major feature in game, which begs the question: can I jump from rooftop to rooftop?
The answer currently is "no."
The answer, obviously, should be "yes but you'll probably fall and break your leg." Madness? This is CATACLYSM.
Describe the solution you'd like
Press a key followed by a directional arrow to make a directional jump. The distance is determined using formulae to follow. Long jumps may take more than a single turn to complete, in which case the player uses "pass turn" to keep moving similar to with a vehicle (and in which case there are some special controls to adjust glide trajectory, since those characters probably have wings)
Unfortunately there is no rational way to guess how far a person should be able to jump, as a square in cataclysm could be anywhere from 1m to 5m or something. So, I suggest just making it unlikely that "normal" players will go very far, but strong or fast ones might be able to bridge significant gaps.
My suggestions for how to calculate distance:
If you ran in the turn before jumping, your speed affects the distance.
If you have any number of traits, especially parkour and wings, the distance would increase remarkably.
Things that don't exist, but could affect this system:
Describe alternatives you've considered
Not adding flight or jumping is not an option. Don't be silly.
grappling hook could play a new role here as well.
We could do vehicle roofs, so i can climb to the top of a house. ladders could be a thing. once z-levels gets implemented better, mountains could be a thing to glide off
Vehicle roofs seem like a difficult and awesome thing to add. Eventually vehicle z-levels will need to be possible.
Someone could start adding hills and mountains any time... although procedurally generating them would probably be better.
also, when 2 roofs are only 1 tile apart, could we re-purpose the "2x4 over pit" code to get a plank across the gap?
One more thing I already did in-game is jumping from one apt. tower roof to another on repurposed extended foldable bike. Can't say my survivor needed it much, it was more just about giving it a try. Looks like another cool thing to implement one day. Now vehicles behave weirdly in mid-air...
As for the wings, insect ones are described as very small and bat ones as useless. If this is to change they should also reduce falling damage. They currently don't. Also bird wings could probably more useful for gliding since they can support more weight.
Finally I can't well imagine my survivor in cargo pants, on rollerblades with two leg canteens, carrying a briefcase with 15kg junk inside, wearing unfolded solar backpack and weilding canning pot of clean water (24) jumping anywhere except down the roof. :) Well, at least you can throw some stuff from one roof to another to keep jumping useful
One more thing, instead of character speed running speed should be taken into account so that fleet-footed actually could help and running over wreckage doesn't. Being tiny with should help to keep you in the air, especially with wings, being huge not that much unless you have strength of a hulk
Didn't notice this since I've been away for awhile, but this may be worth looking into - https://github.com/CleverRaven/Cataclysm-DDA/pull/25582
Some basic notes:
Unless gliding is involved, jumps would not have a duration greater than 1s. A horizontal leap with a duration over 1s would require a 2.5m vertical leap, which is well in excess of the world record. Even if that duration were exceeded, the lack of control would render the ability to "pass" a turn useless. Gliding or limited flight might justify some amount of midair control, but I'd consider that a fringe ability outside the scope of the core jumping feature.
The world record for an unladen long jump is ~9m. I believe it's reasonable to start there and work backwards, assessing various penalties along the way to come to some reasonable approximation of what a particular survivor is capable of.
I'd like to start by assuming that one square = 1m, if pertinent examples appear such as ability to jump across an alleyway or other obstacle, those can be considered as well.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Another interesting concept is https://en.wikipedia.org/wiki/Fierljeppen
Essentially pole vaulting over a gap, moving horizontally instead of vertically.
A quick look indicates that clearing a gap of 15m should be doable, which puts it well in range of crossing a two or even three lane road including sidewalks. This does require the distances to be skewed a bit since a dda road is 24 tiles wide including sidewalks, which if we assume tiles are 1m puts a dda road at a much greater width than a real road.
The ping reminds me that I should adjust this to use normal_rolls, athletics skill, and proficiencies
Most helpful comment
also, when 2 roofs are only 1 tile apart, could we re-purpose the "2x4 over pit" code to get a plank across the gap?