P+ - Kirby - Action - 0x26 AttackDash

Entry Script

  1. Subroutine(0x80fb25b4)
  2. PreviousInterruptAddRequirement(OnGround)
  3. RemoveCallEveryFrame { thread_id: 9 }
  4. CallEveryFrame { thread_id: 9, script: 0x2ece0 }
  5. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (AnimationEnd) }
  6. PreviousInterruptAddRequirement(InAir)
  7. CreateInterrupt { interrupt_id: None, action: LandingHeavy, requirement: (ChangeInAirGroundState) }
  8. PreviousInterruptAddRequirement((InternalConstantInt(CurrentFrame) GreaterThan scalar(10)))
  9. PreviousInterruptAddRequirement(OnGround)
  10. SetAirGround(18)
  11. BoolVariableSetFalse { variable: RandomAccessBool(EnableActionTransition) }
  12. loop Infinite times:
    1. if (OnGround)
      1. SetEdgeSlide(StayOn)
      2. SetAirGround(18)
      3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. ChangeSubaction(AttackDash)
      4. else
        1. ChangeSubactionRestartFrame(AttackDash)
        2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
      5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
    2. else
      1. SetEdgeSlide(Airbourne)
      2. UnknownEvent { namespace: 0x8, code: 0x1, unk1: 0x0, arguments: [Value(4)] }
      3. LedgeGrabEnable(EnableInFront)
      4. SetAirGround(0)
      5. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. ChangeSubaction(AttackDashAir)
      6. else
        1. ChangeSubactionRestartFrame(AttackDashAir)
        2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
      7. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
    3. LoopRest

Exit Script

  1. if (BoolIsTrue LongtermAccessBool (0x7f))
    1. ExternalGraphicEffect(ExternalGraphicEffect { file: 0, graphic: 34, bone: 405, x_offset: 2.0, y_offset: 7.0, z_offset: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scale: 2.0, randomize: None, terminate_with_animation: false })
    2. BoolVariableSetFalse { variable: LongtermAccessBool (0x7f) }