Slide Kick: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
No edit summary
(more details)
Line 12: Line 12:
|related=
|related=
}}
}}
When a slide kick is happening:<ref>https://github.com/n64decomp/sm64/blob/master/src/game/mario_actions_airborne.c#L1580</ref>
When a slide kick is happening:<ref>https://github.com/n64decomp/sm64/blob/master/src/game/mario_actions_airborne.c#L1580</ref>
# If actionTimer > 30 or yPos - floorHeight > 500; [[Freefall]]
# If actionTimer > 30 or yPos - floorHeight > 500; [[Freefall]]
# update_air_without_turn
# update_air_without_turn
# switch perform_air_step:
# switch perform_air_step():
## case AIR_STEP_LANDED, if actionState != 0 or vel[1] >= 0; [[Slide Kick Slide]]
## case AIR_STEP_NONE
## case AIR_STEP_HIT_WALL, [[Backward Air Knockback]]
### if actionState == 0, change angle
## case AIR_STEP_HIT_LAVA_WALL, [[Lava Boost]]
### break
## case AIR_STEP_LANDED
### if actionState != 0 or vel[1] >= 0; [[Slide Kick Slide]]
### else velocity is negative; set velocity to -velocity/2, actionState to 1, actionTimer to 0, play_mario_landing_sound and break
## case AIR_STEP_HIT_WALL, cap speed to 0, [[Backward Air Knockback]]
## case AIR_STEP_HIT_LAVA_WALL, change angle, make sure speed is at least 24, damage, [[Lava Boost]]
(perform_air_step returns NONE if all quartersteps were cancelled)


==References==
==References==
<references />
<references />
{{actions}}
{{actions}}

Revision as of 22:13, 5 February 2023

Slide Kick
Properties
Hex todo
Action Flags todo
Action Group Airborne
ID todo

When a slide kick is happening:[1]

  1. If actionTimer > 30 or yPos - floorHeight > 500; Freefall
  2. update_air_without_turn
  3. switch perform_air_step():
    1. case AIR_STEP_NONE
      1. if actionState == 0, change angle
      2. break
    2. case AIR_STEP_LANDED
      1. if actionState != 0 or vel[1] >= 0; Slide Kick Slide
      2. else velocity is negative; set velocity to -velocity/2, actionState to 1, actionTimer to 0, play_mario_landing_sound and break
    3. case AIR_STEP_HIT_WALL, cap speed to 0, Backward Air Knockback
    4. case AIR_STEP_HIT_LAVA_WALL, change angle, make sure speed is at least 24, damage, Lava Boost

(perform_air_step returns NONE if all quartersteps were cancelled)

References