1,811
edits
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
|into= | |into= | ||
|out of= | |out of= | ||
|animation= | |animation= 0x4D | ||
|related= | |related= | ||
}} | }} | ||
A single jump is an action that can be entered in | A single jump is an action that can be entered in a variety of ways, including: | ||
* By pressing the A button while in | * By pressing the A button while in a variety of actions. | ||
* While in [[quicksand]], if Mario attempts to enter the [[Double Jump|double jump]] or [[twirling]] actions he will single jump instead. Doing this with twirling is very complicated and requires use of the [[Air Throw Landing|air throw landing]] action<ref>https://www.youtube.com/watch?v=wzUEzHk-ioQ</ref>. | * While in [[quicksand]], if Mario attempts to enter the [[Double Jump|double jump]] or [[twirling]] actions he will single jump instead. Doing this with twirling is very complicated and requires the use of the [[Air Throw Landing|air throw landing]] action<ref>https://www.youtube.com/watch?v=wzUEzHk-ioQ</ref>. | ||
== Behavior == | |||
As with all airborne actions, a variety of "cancels" are checked prior to actually performing the jump action. These checks are as follows: | |||
# Water - If Mario's height is lower than 100 units below the water height, the action is transitioned into the [[water plunge]] action. | |||
# Squish - If Mario is supposed to be squished, his action is changed to the [[squished]] action. | |||
# Vertical Wind- If Mario is above a vertical wind floor, his action is changed to the [[vertical wind]] action. (This is due to the jump action having the "Allow Vertical Wind Action" flag. | |||
At this point, two more things happen prior to the jump action: | |||
* Mario's quicksand depth is set to 0. | |||
* Mario plays a falling noise if he has fallen more than 1150 units from his peak. | |||
With the jump action occurring, the following happens: | |||
# If the B button is pressed, Mario will either enter the [[dive]] action if his speed is greater than 28 or the jump kick action otherwise. This stops the jump action. | |||
# If the Z button is pressed, Mario will enter the [[ground pound]] action. This stops the jump action. | |||
# Mario performs the other noises for the jump. <!--Elaborate on this.--> | |||
# Mario's velocity is updated via [[straining]]. | |||
# Now, Mario performs the quarter-frame movement. | |||
## The position a quarter of Mario's velocity ahead of Mario is checked for cancels/outcomes. Anything in bold is an exit out of the rest of the checks. | |||
### If the position is above OOB but below Mario's current floor height, Mario's height is changed to the floor height and he '''lands'''. | |||
### If the position is above OOB but not below Mario's current floor height, Mario's height is set to the new height and he '''hits a wall'''. | |||
### If the position's height is 78 units or less below a floor and there is not a ceiling 160 units or less above it (because of how variable types an [[overflow jump]] may occur here): | |||
###* Mario's position horizontally is updated to the new position. | |||
###* Mario's height is set to that of the floor's height. | |||
###* Mario's floor and floor height are updated. | |||
###* Mario '''lands'''. | |||
### If the position's height is 78 units or less below a floor and there is a ceiling 160 units or less above it (because of how variable types an [[overflow jump]] may occur here): | |||
###* Mario's height is set to that of the floor's height. | |||
###* Mario '''lands'''. (Because Mario's floor is not updated, this is where a [[Pedro Spot|pedro spot]] may occur) | |||
### If the position's height is 160 units under, at, or above a ceiling and his vertical velocity is positive or zero: | |||
###* Mario's vertical velocity is set to zero. | |||
###* If the ceiling above Mario is hangable, Mario '''hangs'''. (Since this did not use the new position's ceiling/location, this is potentially a [[Hangable-Ceiling Upwarp|hangable-ceiling upwarp.]]) | |||
###* Otherwise, '''nothing happens'''. | |||
### If the position's height is 160 units under, at, or above a ceiling and his vertical velocity is negative: | |||
###* If the position's height is at or below Mario's floor height, Mario's height is set to the floor height, and he '''lands'''. | |||
###* Otherwise, Mario's height is set to the new height and he '''hits a wall'''. | |||
### If there is a wall 30 units above the position but not 150 units above the position: | |||
###* If Mario's velocity is positive, Mario is pushed by the wall opposite the velocity direction, and there is a floor 60 units behind the wall within 238 units upward, Mario '''ledge grabs'''. (Potentially a [[GLG]]) | |||
###* Otherwise Mario's position is set to the new position, his floor and floor height are updated, and '''nothing happens'''. | |||
### Mario's position is set to the new position and his floor and floor height are updated. | |||
### If Mario is colliding with a wall 150 or 30 units up and the upper or only wall is lava, he '''lava wall boosts'''. | |||
### If Mario is colliding with a wall 150 or 30 units up and Mario is facing perpendicular to 0x6000 units away, he '''hits a wall'''. | |||
### If no other exit has occurred, '''nothing happens'''. | |||
## This repeats until Mario encounters something besides '''nothing happens''', up to four times. | |||
## If Mario's velocity is not negative, his new height is the peak height. | |||
## The footstep noise for Mario's floor is updated. | |||
## If A is held and vertical speed is more than 20, divide it by 4. | |||
## If A is held, Mario is wearing the wing cap, and his vertical speed is negative: | |||
### Subtract two from the vertical speed. | |||
### If the vertical speed is less than -37.5, add four. | |||
### If the vertical speed is more than -37.5 now, set it to -37.5. | |||
## If neither of those two previous situations occurred, subtract 4 from Mario's vertical speed and set it to -75 if it passes below. | |||
## If Mario is above a vertical wind floor and his vertical position is above -1500 but below 3500: | |||
### If Mario's height is 1500 or greater, add 10000/(8*(Mario's Height - 1300)) to the vertical velocity. If it passes 10000/(Mario's Height - 1300), set it to that instead. | |||
### Otherwise, add 6.25 to the vertical speed and cap it to 50 if the vertical speed passes it. | |||
### The Japanese version plays the wind sound now. | |||
## The visual model's position and angle are updated. | |||
== References == | |||
<references /> |