LXP2.1 - Lucina - Subroutine - 0x2e7fc

  1. if (OnGround)
    1. SetAirGround(15)
    2. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
      1. if ((InternalConstantInt(CurrentFrame) GreaterThan scalar(36)))
        1. IfStatementAnd ((InternalConstantInt(CurrentSubaction) Equal scalar(471)))
        2. CreateInterrupt { interrupt_id: None, action: LandingHeavy, requirement: (OnGround) }
      2. else
        1. ChangeSubaction(SpecialS)
    3. else
      1. ChangeSubactionRestartFrame(SpecialS)
      2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
    4. UnknownEvent { namespace: 0x8, code: 0x1, unk1: 0x0, arguments: [Value(0)] }
    5. if ((InternalConstantInt(CurrentFrame) GreaterThanOrEqual scalar(6)))
      1. IfStatementAnd ((InternalConstantInt(CurrentFrame) LessThanOrEqual scalar(20)))
      2. SetEdgeSlide(StayOn)
    6. else
      1. SetEdgeSlide(Unknown(2))
    7. DisableInterrupt(0)
    8. EnableInterrupt(1)
    9. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
  2. else
    1. SetAirGround(17)
    2. Subroutine(0x13db8)
    3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
      1. ChangeSubaction(SpecialAirS)
    4. else
      1. ChangeSubactionRestartFrame(SpecialAirS)
      2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
    5. UnknownEvent { namespace: 0x8, code: 0x1, unk1: 0x0, arguments: [Value(4)] }
    6. SetEdgeSlide(Airbourne)
    7. DisableInterrupt(0)
    8. EnableInterrupt(1)
    9. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }