PM3.6 - Sonic - Action - 0x11d

Entry Script

  1. if ((InternalConstantInt(PreviousAction) Equal scalar(276)))
    1. ChangeSubactionRestartFrame(Squat_1)
    2. CreateInterrupt { interrupt_id: None, action: SpecialHi, requirement: (AnimationEnd) }
    3. if (OnGround)
      1. SetEdgeSlide(StayOn)
      2. SetAirGround(6)
    4. else
      1. SetEdgeSlide(Airbourne)
      2. SetAirGround(0)
  2. else
    1. CallEveryFrame { thread_id: 9, script: 0x1c358 }
    2. CreateInterrupt { interrupt_id: None, action: 0x11e, requirement: (CharacterExists) }
    3. AsyncWait(200.0)
    4. PreviousInterruptAddRequirement((RandomAccessInt(ThrowDataParam1) LessThan InternalConstantInt (0x5dc7)))
    5. PreviousInterruptAddRequirement(OnGround)
    6. PreviousInterruptAddRequirement(OnGround)
    7. Subroutine(0x1c038)
    8. ChangeSubactionRestartFrame(SpecialSHold)
    9. loop Infinite times:
      1. if (OnGround)
        1. IntVariableSet { variable: LongtermAccessInt(JumpsUsed), value: 0 }
        2. SetEdgeSlide(Unknown(2))
        3. SetAirGround(105)
        4. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
      2. else
        1. SetEdgeSlide(Airbourne)
        2. SetAirGround(106)
        3. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
      3. if ((RandomAccessInt(ThrowDataParam1) GreaterThan InternalConstantInt (0x5dc7)))
        1. UnknownEvent { namespace: 0xe, code: 0x5, unk1: 0x0, arguments: [Value(3)] }
      4. LoopRest

Exit Script