PM3.02 - Sonic - Action - 0x11e
Entry Script
- IntVariableSet { variable: LongtermAccessInt (0x63), value: 0 }
- CallEveryFrame { thread_id: 9, script: 0x1c598 }
- CreateInterrupt { interrupt_id: None, action: 0x121, requirement: (OnGround) }
- PreviousInterruptAddRequirement(TouchingAFloorWallOrCeiling value(4))
- PreviousInterruptAddRequirement((InternalConstantInt(CharacterDirection) GreaterThan scalar(0)))
- CreateInterrupt { interrupt_id: None, action: 0x121, requirement: (OnGround) }
- PreviousInterruptAddRequirement(TouchingAFloorWallOrCeiling value(2))
- PreviousInterruptAddRequirement((InternalConstantInt(CharacterDirection) LessThan scalar(0)))
- CreateInterrupt { interrupt_id: None, action: 0x11b, requirement: ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(0.25))) }
- PreviousInterruptAddRequirement((InternalConstantInt(VerticalCharacterVelocity) LessThan scalar(-1.1)))
- if (BoolIsTrue RandomAccessBool(SpecialsMovement))
- CreateInterrupt { interrupt_id: None, action: 0x11f, requirement: (OnGround) }
- CreateInterrupt { interrupt_id: None, action: 0x11b, requirement: ((RandomAccessInt(ThrowDataParam2) LessThan scalar(50))) }
- PreviousInterruptAddRequirement(InAir)
- SetEdgeSlide(Airbourne)
- UnknownEvent { namespace: 0x9, code: 0x0, unk1: 0x0, arguments: [Value(2)] }
- SetAirGround(108)
- ChangeSubactionRestartFrame(SpecialSDashLw_1)
- LoopRest
- else
- IntVariableSet { variable: LongtermAccessInt (0x60), value: 0 }
- UnknownEvent { namespace: 0x12, code: 0x2, unk1: 0x0, arguments: [Variable(Variable { memory_type: LongtermAccess, data_type: Int, address: 95 }), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 3 })] }
- CreateInterrupt { interrupt_id: None, action: 0x11a, requirement: (ButtonHeld value(3)) }
- PreviousInterruptAddRequirement(OnGround)
- CreateInterrupt { interrupt_id: None, action: 0x11a, requirement: ((RandomAccessInt(ThrowDataParam2) LessThanOrEqual scalar(0))) }
- PreviousInterruptAddRequirement(OnGround)
- CreateInterrupt { interrupt_id: None, action: 0x120, requirement: ((InternalConstantInt(ControlStickXAxisRelative) LessThanOrEqual InternalConstantInt (0xc31))) }
- PreviousInterruptAddRequirement(OnGround)
- CreateInterrupt { interrupt_id: None, action: GuardOn, requirement: (ButtonHeld value(3)) }
- PreviousInterruptAddRequirement(OnGround)
- PreviousInterruptAddRequirement((InternalConstantInt(CurrentSubaction) Equal scalar(473)))
- PreviousInterruptAddRequirement(BoolIsTrue RandomAccessBool(EnableGlide))
- Subroutine(0x1c038)
- loop Infinite times:
- if (OnGround)
- BoolVariableSetFalse { variable: LongtermAccessBool (0x71) }
- IntVariableSet { variable: LongtermAccessInt(JumpsUsed), value: 0 }
- ChangeHurtBoxStateAll { state: Normal }
- SetEdgeSlide(StayOn)
- SetAirGround(107)
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
- else
- SetEdgeSlide(Airbourne)
- SetAirGround(108)
- ChangeSubactionRestartFrame(SpecialSDashLw)
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
- LoopRest
Exit Script