P+ - R.O.B - Action - 0xd Multijump

Entry Script (Common)

  1. ControllerClearBuffer
  2. ControllerUnk01
  3. ControllerUnk02
  4. IntVariableIncrement { variable: LongtermAccessInt(JumpsUsed) }
  5. Subroutine(0x21c50)
  6. if ((InternalConstantInt (0x5a92) NotEqual scalar(0)))
    1. IfStatementAnd (not(BoolIsTrue LongtermAccessBool (0x16)))
    2. BoolVariableSetTrue { variable: RandomAccessBool(SpecialsMovement) }
    3. Subroutine(0xb9f4)
  7. if ((LongtermAccessInt(JumpsUsed) Equal InternalConstantInt(MaxJumpCount)))
    1. CreateInterrupt { interrupt_id: None, action: FallAerial, requirement: (AnimationEnd) }
    2. PreviousInterruptAddRequirement(InAir)
  8. else
    1. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (AnimationEnd) }
    2. PreviousInterruptAddRequirement(InAir)
  9. SetAirGround(3)
  10. UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: LongtermAccess, data_type: Int, address: 1 })] }
  11. Case(2)
  12. ChangeSubactionRestartFrame(SpecialLwCancel)
  13. Case(3)
  14. ChangeSubactionRestartFrame(SpecialAirLwCancel)
  15. Case(4)
  16. ChangeSubactionRestartFrame(NONE_1)
  17. Case(5)
  18. ChangeSubactionRestartFrame(NONE_2)
  19. Case(6)
  20. ChangeSubactionRestartFrame(NONE_3)
  21. EndSwitch
  22. CallEveryFrame { thread_id: 9, script: 0xe3bc }

Exit Script (Common)

  1. if (TurningWithItem)
    1. IfStatementAnd (not(HitByCapeEffect))
    2. UnknownEvent { namespace: 0x20, code: 0x1, unk1: 0x0, arguments: [] }