PM3.02 - Kirby - Action - 0x129

Entry Script

  1. Subroutine(0x52004)
  2. if ((InternalConstantInt(PreviousAction) Equal scalar(38)))
    1. IfStatementOr ((InternalConstantInt(PreviousAction) Equal scalar(297)))
    2. CreateInterrupt { interrupt_id: None, action: Wait, requirement: (AnimationEnd) }
    3. PreviousInterruptAddRequirement(OnGround)
    4. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (AnimationEnd) }
    5. PreviousInterruptAddRequirement(InAir)
    6. CreateInterrupt { interrupt_id: None, action: LandingHeavy, requirement: (ChangeInAirGroundState) }
    7. PreviousInterruptAddRequirement((InternalConstantInt(CurrentFrame) GreaterThan scalar(10)))
    8. PreviousInterruptAddRequirement(OnGround)
    9. CallEveryFrame { thread_id: 9, script: 0x48af4 }
    10. loop Infinite times:
      1. if (OnGround)
        1. SetEdgeSlide(StayOn)
        2. SetAirGround(18)
        3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
          1. ChangeSubactionRestartFrame(AttackDash)
        4. else
          1. ChangeSubaction(AttackDash)
        5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
      2. else
        1. SetEdgeSlide(Airbourne)
        2. SetAirGround(0)
        3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
          1. ChangeSubactionRestartFrame(AttackDashAir)
        4. else
          1. ChangeSubaction(AttackDashAir)
        5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
      3. BoolVariableSetFalse { variable: RandomAccessBool(EnableActionTransition) }
      4. LoopRest
  3. else
    1. if (BoolIsTrue LongtermAccessBool (0x77))
      1. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (AnimationEnd) }
      2. PreviousInterruptAddRequirement(InAir)
      3. CreateInterrupt { interrupt_id: None, action: LandingHeavy, requirement: (ChangeInAirGroundState) }
      4. PreviousInterruptAddRequirement(OnGround)
      5. if (HasAFloorBelowThePlayer scalar(3))
        1. ChangeSubactionRestartFrame(SpecialHi)
      6. else
        1. ChangeSubactionRestartFrame(ThrowCutter)
      7. SetAirGround(17)
    2. else
      1. BoolVariableSetFalse { variable: RandomAccessBool(EnableActionTransition) }
      2. IntVariableSet { variable: RandomAccessInt (0x0), value: 495 }
      3. IntVariableSet { variable: RandomAccessInt (0x1), value: 499 }
      4. CreateInterrupt { interrupt_id: None, action: 0x12a, requirement: (AnimationEnd) }
      5. CreateInterrupt { interrupt_id: None, action: 0x12b, requirement: (OnGround) }
      6. Subroutine(0x35614)

Exit Script