Slide Kick: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
(add flags and cancels)
(various fixes)
Line 9: Line 9:
|into=airborne cancels: [[Water Plunge]], [[Squished]], [[Vertical Wind]], main: [[Freefall]], [[Slide Kick Slide]], [[Backward Air Kb]], [[Lava Boost]]
|into=airborne cancels: [[Water Plunge]], [[Squished]], [[Vertical Wind]], main: [[Freefall]], [[Slide Kick Slide]], [[Backward Air Kb]], [[Lava Boost]]
|out of=
|out of=
|animation=
|animation=0x8C
|related=
|related=
}}
}}
Line 17: Line 17:


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 actionState and actionTimer are 0
## play the terrain's jump sound and Mario's "hoohoo" sound
## change to the slide kick animation
# If actionTimer > 30 or yPos - floorHeight > 500; [[Freefall]](actionArg 2)
# update_air_without_turn
# update_air_without_turn
# switch perform_air_step():
# if perform_air_step()
## case AIR_STEP_NONE
## is AIR_STEP_NONE
### if actionState == 0, change angle
### if actionState == 0, change graphics angle
### break
## is AIR_STEP_LANDED
## case AIR_STEP_LANDED
### if actionState != 0 or vel[1] >= 0; [[Slide Kick Slide]]
### 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
### else y-velocity is negative (Mario is falling down); set vel[1] to -vel[1]/2 '''(this is the slide kick bounce)''', actionState to 1, actionTimer to 0, and play_mario_landing_sound
## case AIR_STEP_HIT_WALL, cap speed to 0, [[Backward Air Kb|Backward Air Knockback]]
## is AIR_STEP_HIT_WALL, cap speed to 0, set star particles to display, and [[Backward Air Kb|Backward Air Knockback]]
## case AIR_STEP_HIT_LAVA_WALL, change angle, make sure speed is at least 24, damage, [[Lava Boost]]
## is AIR_STEP_HIT_LAVA_WALL, [[Lava Boost on Wall]]
(perform_air_step returns NONE if all quartersteps were cancelled)
(perform_air_step returns NONE if all quartersteps were cancelled)
==References==
==References==
<references />
<references />
{{actions}}
{{actions}}

Revision as of 16:20, 19 August 2025

Slide Kick
Properties
Hex 0x018008AA
Action Flags Air, Attacking, Allow Vertical Wind Action
Action Group Airborne
ID 0x0AA
Transitions
Into airborne cancels: Water Plunge, Squished, Vertical Wind, main: Freefall, Slide Kick Slide, Backward Air Kb, Lava Boost
Other
Animation 0x8C


Behavior

As with all Airborne actions there are Airborne cancels, see Single Jump#Airborne cancels

When a slide kick is happening:[1]

  1. If actionState and actionTimer are 0
    1. play the terrain's jump sound and Mario's "hoohoo" sound
    2. change to the slide kick animation
  2. If actionTimer > 30 or yPos - floorHeight > 500; Freefall(actionArg 2)
  3. update_air_without_turn
  4. if perform_air_step()
    1. is AIR_STEP_NONE
      1. if actionState == 0, change graphics angle
    2. is AIR_STEP_LANDED
      1. if actionState != 0 or vel[1] >= 0; Slide Kick Slide
      2. else y-velocity is negative (Mario is falling down); set vel[1] to -vel[1]/2 (this is the slide kick bounce), actionState to 1, actionTimer to 0, and play_mario_landing_sound
    3. is AIR_STEP_HIT_WALL, cap speed to 0, set star particles to display, and Backward Air Knockback
    4. is AIR_STEP_HIT_LAVA_WALL, Lava Boost on Wall

(perform_air_step returns NONE if all quartersteps were cancelled)

References