P+ - Zelda - Common Subroutine 0x14054

  1. CreateInterrupt { interrupt_id: Some(10099), action: SpecialHi, requirement: (ButtonPress value(1)) }
  2. PreviousInterruptAddRequirement((InternalConstantInt(ControlStickYAxis) GreaterThanOrEqual InternalConstantInt (0xc72)))
  3. PreviousInterruptAddRequirement((LongtermAccessInt (0x53) GreaterThanOrEqual InternalConstantInt (0x5a0d)))
  4. PreviousInterruptAddRequirement((LongtermAccessInt(MeteorCancelWindow) LessThanOrEqual scalar(0)))
  5. PreviousInterruptAddRequirement((RandomAccessInt(ThrowDataParam1) LessThanOrEqual scalar(0)))
  6. PreviousInterruptAddRequirement((InternalConstantInt(UpKnockback) LessThan scalar(0)))
  7. PreviousInterruptAddRequirement(InAir)
  8. if ((InternalConstantInt (0x5a91) Equal scalar(1)))
    1. CreateInterrupt { interrupt_id: Some(10062), action: JumpAerial, requirement: (ButtonPress value(2)) }
    2. PreviousInterruptAddRequirement((LongtermAccessInt(JumpsUsed) LessThan InternalConstantInt(MaxJumpCount)))
    3. PreviousInterruptAddRequirement((InternalConstantInt(FramesSinceJump) GreaterThanOrEqual InternalConstantInt (0x5a0d)))
    4. PreviousInterruptAddRequirement((LongtermAccessInt(MeteorCancelWindow) LessThanOrEqual scalar(0)))
    5. PreviousInterruptAddRequirement((RandomAccessInt(ThrowDataParam1) LessThanOrEqual scalar(0)))
    6. PreviousInterruptAddRequirement((InternalConstantInt(UpKnockback) LessThan scalar(0)))
    7. PreviousInterruptAddRequirement(InAir)
    8. CreateInterrupt { interrupt_id: Some(10061), action: JumpAerial, requirement: ((InternalConstantInt(ControlStickYAxis) GreaterThanOrEqual InternalConstantInt (0xc42))) }
    9. Subroutine(0x80546cd8)
    10. PreviousInterruptAddRequirement((LongtermAccessInt(JumpsUsed) LessThan InternalConstantInt(MaxJumpCount)))
    11. PreviousInterruptAddRequirement((LongtermAccessInt(MeteorCancelWindow) LessThanOrEqual scalar(0)))
    12. PreviousInterruptAddRequirement((RandomAccessInt(ThrowDataParam1) LessThanOrEqual scalar(0)))
    13. PreviousInterruptAddRequirement((InternalConstantInt(UpKnockback) LessThan scalar(0)))
    14. PreviousInterruptAddRequirement(TapJumpOn)
    15. PreviousInterruptAddRequirement(InAir)
  9. else
    1. CreateInterrupt { interrupt_id: Some(10067), action: Multijump, requirement: ((LongtermAccessInt(JumpsUsed) LessThan InternalConstantInt(MaxJumpCount))) }
    2. PreviousInterruptAddRequirement(ButtonPress value(2))
    3. PreviousInterruptAddRequirement((InternalConstantInt(FramesSinceJump) GreaterThanOrEqual InternalConstantInt (0x5a0d)))
    4. PreviousInterruptAddRequirement((LongtermAccessInt(MeteorCancelWindow) LessThanOrEqual scalar(0)))
    5. PreviousInterruptAddRequirement((RandomAccessInt(ThrowDataParam1) LessThanOrEqual scalar(0)))
    6. PreviousInterruptAddRequirement((InternalConstantInt(UpKnockback) LessThan scalar(0)))
    7. PreviousInterruptAddRequirement(InAir)
    8. CreateInterrupt { interrupt_id: Some(10066), action: Multijump, requirement: ((LongtermAccessInt(JumpsUsed) LessThan InternalConstantInt(MaxJumpCount))) }
    9. PreviousInterruptAddRequirement((InternalConstantInt(ControlStickYAxis) GreaterThanOrEqual InternalConstantInt (0xc42)))
    10. PreviousInterruptAddRequirement((InternalConstantInt (0x520a) LessThan InternalConstantInt (0x59fb)))
    11. Subroutine(0x80546cf0)
    12. PreviousInterruptAddRequirement((RandomAccessInt(ThrowDataParam1) LessThanOrEqual scalar(0)))
    13. PreviousInterruptAddRequirement((InternalConstantInt(UpKnockback) LessThan scalar(0)))
    14. PreviousInterruptAddRequirement(TapJumpOn)
    15. PreviousInterruptAddRequirement(InAir)