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