Does the “Step of the Wind” ability allows you to take the extra jump without using Dash or Disengage Bonus Action

I was playing a game of 5e DnD the other day and got into a disagreement with the DM. I have a monk character that made a long jump off a wall using Step of the Wind. The plan was to do Flurry of Blows after landing, but the DM said that I couldn’t use Flurry of Blows because I had burned my Bonus Action on Step of the Wind. This is the ability:

Flurry of Blows: After you take the Attack action on your turn, you can spend 1 ki point to make two unarmed strikes as a bonus action.

My DM said that I have to take a Bonus Action before getting the jump bonus. I believe that taking a Bonus Action is optional and you can get double-jump without using a Bonus Action. It does not explicitly say you have to take the bonus action like Flurry of Blows and Shadow Step do:

Shadow Step: When you are in dim light or darkness, as a bonus action you can teleport up to 60 feet to an unoccupied space you can see that is also in dim light or darkness. You then have advantage on the first melee attack you make before the end of the turn.

Flurry of Blows: After you take the Attack action on your turn, you can spend 1 ki point to make two unarmed strikes as a bonus action.

You can see that Shadow Step says that "You then" (after teleporting), and Flurry of Blows says that "After you take the Attack action". If you go back to "Step of the Wind" you can see that it doesn’t say anything about after the Bonus Action you get the jump bonus.

I would like your response because we both think differently!

Wall jump without returning to wall

In my 2D Platformer character controller that has both a wall jump and a double jump ability, how would I approach implementing a feature that stops the player from returning to the wall they initiated a wall jump from, while still making sure my controls feel responsive? (like they did in Celeste)

So far, I have got a timer that starts when the player initiates the wall jump and stops the player from moving until the timer is over. I’m already not too happy with that approach because it leads to this moment where it feels like player input is basically ignored.

Now in addition, I realised that after the timer is over, while just pressing left won’t be enough to return (to a higher part of) the wall, simply doing a second jump will enable the player to easily make their way up the wall.

Does “Claw at the Moon” require the character to make a normal attack roll in addition to the Jump check?

Claw at the Moon’s description states the following:

ToB p.86

As part of this maneuver, you attempt a Jump check to leap into the air and make a melee attack that targets your foe’s upper body, face, and neck. The Jump check’s DC is equal to your target’s AC. If this check succeeds, your attack deals an extra 2d6 points of damage. If this attack threatens a critical hit, you gain a +4 bonus on your roll to confirm the critical hit.

If your check fails, you can still attack, but you do not deal extra damage or gain a bonus on a roll to confirm a critical hit. The maneuver is still considered expended.

I have two interpretations of this maneuver’s effect:

  1. You get to make a Jump check and a normal attack roll, if the check fails, you only take into account the normal attack roll and don’t have any additional bonuses.
  2. You only make the Jump check to determine the attack roll (since the DC of the roll is the enemy’s AC, it would make sense), and only if you fail, you can make a normal attack roll and attack normally.

Logic dictates that the first interpretation is the correct one and that the second one is a tad overpowered, but I’ve been wrong before. Which interpretation is the correct one?

How high can my monk jump?

My monk has a movement of 50ft and a +4 strength bonus (18 STR). My computation for my maximum jump is start of 10 ft.

I arrive at a high jump of 14 ft + remaining movement which is rounded down of 25 ft + extra movement of dash (step of the wind)=+50ft Max jump = 89 ft?

Is Mirthful Leaps affected by jump multipliers?

In Mythic Odyssey of Theros, the Satyr gain the ability Mirthful Leaps:

Whenever you make a long or high jump, you can roll a d8 and add the number rolled to the number of feet you cover, even when making a standing jump. This extra distance costs movement as normal.

If you have a multiplier on jump distance, such as that provided by the Boots of Striding and Springing…

In addition, you can jump three times the normal distance, though you can’t jump farther than your remaining movement would allow.

… would the +1d8 feet be multiplied by three as well?

Does a monk’s Step of the Wind affect High Jump or just Long Jump?

At 2nd level, monks can spend a ki point to use Step of the Wind:

Step of the Wind

You can spend 1 ki point to take the Disengage or Dash action as a bonus action on your turn, and your jump distance is doubled for the turn.

What is meant by “jump distance”, exactly?

The rules on Jumping state:

Long Jump. When you make a long jump, you cover a number of feet up to your Strength score if you move at least 10 feet on foot immediately before the jump. When you make a standing long jump, you can leap only half that distance. Either way, each foot you clear on the jump costs a foot of movement. […]

High Jump. When you make a high jump, you leap into the air a number of feet equal to 3 + your Strength modifier (minimum of 0 feet) if you move at least 10 feet on foot immediately before the jump. When you make a standing high jump, you can jump only half that distance. Either way, each foot you clear on the jump costs a foot of movement. […]

You can extend your arms half your height above yourself during the jump. Thus, you can reach above you a distance equal to the height of the jump plus 1 1/2 times your height.

Both Long Jump and High Jump mention distance, so does that mean a monk who uses Step of the Wind can jump twice as high? I ask because my DM and other players in the group who spoke up are under the impression it only affects the Long Jump, and that a High Jump is unaffected by Step of the Wind…

Is there anything that lets me quickly figure out the distance from a safe jump point to the starport?

I realised something.

While reading the core rulebook I always assumed that the relevant distance for jumping into a system was the diameter of the systems star times one hundred, and I got the impression that it would take a few days to get from safe jump distance to the spaceport. However, while I was doing some calculations based on @paul-gilfedder great answer to this question I realised that Earth is orbiting outside of our stars diameter times one hundred.


I had been assuming that if Earth had a spaceport it would take 68h with a G1 drive to get from the spaceport to a safe jump distance, and that that was pretty standard for any solar system. However, if I understand this correctly it should take only 6h 20min to get from the jump point to Earths potential starport since it is only 1.276.000 km and not 140.000.000 that I assumed.

After this longwinded intro I get to my question: When the source material talks about a system and it’s main planet/starport is there any information included that lets me know what the travel time from safe jump distance to the spaceport is, or a way to infer it from the UPW? Makes a huge difference if the planets orbit is inside our outside of the stars 100D. For instance safe jump distance to Venus would be 32.000.000 km, which is 25 times that of Earth, because of this.

How to add a force to jump in unity

I have created a simple player control. I have used “Vertical” and “Horizontal” axes as input to move. There is a character controller and I used this to move my player. But I don’t know how to add a force as jump with space input. I am new to game development. Please help me to learn this. This is my script,

public class PlayerControll : MonoBehaviour {     public Animator anim;     public CharacterController characterController;     public Rigidbody rb;     public float Speed;     public float Direction;      Vector3 moveDir =;     float speedwalking = 8;     float gravity = 8;      void Start()     {         anim = GetComponent<Animator>();         characterController = GetComponent<CharacterController>();         rb = GetComponent<Rigidbody>();     }      void Update()     {         if (characterController.isGrounded)         {             anim.SetBool("Grounded", true);             if (Input.GetButton("Vertical") || Input.GetButton("Horizontal"))             {                 Speed = Input.GetAxis("Vertical");                 Direction = Input.GetAxis("Horizontal");                 anim.SetFloat("Speed", Speed);                 anim.SetFloat("Direction", Direction);                 moveDir = new Vector3(Direction, 0, Speed);                 moveDir *= speedwalking;                 moveDir = transform.TransformDirection(moveDir);                 characterController.Move(moveDir * Time.deltaTime);                 moveDir.y -= gravity * Time.deltaTime;             }             else             {                 anim.SetFloat("Speed", 0);                 anim.SetFloat("Direction", 0);             }         }         else         {             anim.SetBool("Grounded", false);         }     } } 

Can’t find the failure in my jump function

I dont know why but my jump method does not work. My character can only jump on one single object. The other obstacle haven’t any influence on the player. I really don’t see my mistake

     foreach (RectangleShape obstacles in MoveAtObjectList)                {                    MainPlayer.Move(deltaTime, obstacles);                }                 foreach (RectangleShape obstacles in JumpAtObjectList)                {                    MainPlayer.Jump(deltaTime, obstacles);                    break;                }                 Draw();                 Window.Display();            }        }    } } 

This was part of my main Class, where i call the jump method within a foreach loop. Here in my Payer class I tried to write the jump function.

using SFML.Graphics; using SFML.System; using SFML.Window;  namespace Pong3final {     class Player : RectangleShape     {          float CollisionDistance = 0.5f;          float PlayerSpeed = 50;         float JumpSpeed = 100;         float FallSpeed = 100;         float JumpTimer;          bool JumpBool = false;         bool Fall = true;  public  void Jump(float deltaTime, RectangleShape collisionObject)         {              if (Keyboard.IsKeyPressed(Keyboard.Key.Space) && !Fall && CheckCollision(this, collisionObject))             {                 JumpBool = true;             }              //Player is jumping             if (JumpBool)             {                 JumpTimer += deltaTime;                  this.Position -= new Vector2f(0, JumpSpeed) * deltaTime;                  if (JumpTimer > 0.5f)                 {                     JumpBool = false;                     Fall = true;                     JumpTimer = 0;                 }             }              //Player is falling when he doesnt touch anything and he isnt jumping             else if (!CheckCollision(this, collisionObject))             {                 Fall = true;             }              //Player is falling             if (!JumpBool && !CheckCollision(this, collisionObject) && Fall)             {                 this.Position += new Vector2f(0, FallSpeed) * deltaTime;                  if (CheckCollision(this, collisionObject)) //Player stops falling because of a collision with an object                 {                     Fall = false;                 }             }         }           public void Move(float deltaTime, RectangleShape collisionObject)         {             {                 Vector2f MovePlayerPosition = Position;                  if ((Keyboard.IsKeyPressed(Keyboard.Key.Left) || Keyboard.IsKeyPressed(Keyboard.Key.A)))                 {                      MovePlayerPosition -= new Vector2f(PlayerSpeed, 0) * deltaTime;                      FloatRect collisionOverlap;                      if (CheckCollision(this, collisionObject, out collisionOverlap))                     {                        MovePlayerPosition = MovePlayerPosition + new Vector2f(collisionOverlap.Width + CollisionDistance, 0);                     }                     }                  if (Keyboard.IsKeyPressed(Keyboard.Key.Right) || Keyboard.IsKeyPressed(Keyboard.Key.D))                 {                      MovePlayerPosition += new Vector2f(PlayerSpeed, 0) * deltaTime;                      FloatRect collisionOverlap;                      if (CheckCollision(this, collisionObject, out collisionOverlap))                     {                        MovePlayerPosition = MovePlayerPosition - new Vector2f(collisionOverlap.Width + CollisionDistance, 0);                     }                                   }                  Position = MovePlayerPosition;             }         }           public static bool CheckCollision(RectangleShape obj1, RectangleShape obj2, out FloatRect overlap)         {             FloatRect obj1Collider = obj1.GetGlobalBounds();             FloatRect obj2Collider = obj2.GetGlobalBounds();              //Nur die rechte, linke und obere Seite kollidiert             if (obj1Collider.Intersects(obj2Collider, out overlap))             {                 return true;             }             overlap = new FloatRect();             return false;         }          public static bool CheckCollision(RectangleShape obj1, RectangleShape obj2)         {             FloatRect obj1Collider = obj1.GetGlobalBounds();             FloatRect obj2Collider = obj2.GetGlobalBounds();              return obj1Collider.Intersects(obj2Collider);         }     } } 

Function which calculates jump, i.e. $[f(a,b,c)]^+_- = f(a^+,b^+,c^+)-f(a^-,b^-,c^-)$

I want to create a function in Mathematica which accomplishes the following:

$ $ [f(a,b,c)]^+_- = f(a^+,b^+,c^+)-f(a^-,b^-,c^-)$ $

where $ f$ is any function (has 3 arguments above but this need not be the case) and $ a,b,c$ are arguments (though there may be more). I am dealing with some boundary conditions across interfaces which require me to evaluate “jumps” in discontinuous quantities.

What I would like to do is something that accomplishes the following, returning symbolic variables which can be used later:

  • $ [\mu]^+_-=\mu^+-\mu^-$
  • $ \left[\frac{1}{\mu}\right]^+_-=\frac{1}{\mu^+}-\frac{1}{\mu_-}$
  • $ \left[\frac{ab^2}{\sqrt{c}}\right]^+_-=\frac{a^+{b^+}^2}{\sqrt{c^+}}-\frac{a^-{b^-}^2}{\sqrt{c^-}}$

I want to be able to input any expression inside the brackets (although in this case the expression will be called as an argument to a function) and this expression needs to have an arbitrary number of variables. It would also be highly desirable this could be done entry-wise to a vector whose entries are expressions (themselves each of an arbitrary number of variables).

A bit of research tells me that the Map function might do what I want, but I’m not yet skilled enough in Mathematica to implement it properly. Could somebody point me into the right direction?