P+ - Sonic - Action - 0x11e
Entry Script
- UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: LongtermAccess, data_type: Int, address: 5 }), Variable(Variable { memory_type: LongtermAccess, data_type: Int, address: 98 })] }
- IntVariableSet { variable: LongtermAccessInt(FootstoolCount), value: 16 }
- IntVariableSet { variable: LongtermAccessInt (0x63), value: 0 }
- CallEveryFrame { thread_id: 9, script: 0x2bf44 }
- UnknownEvent { namespace: 0x8, code: 0x2, unk1: 0x0, arguments: [Value(2)] }
- 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(-0.5)))
- 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)
- 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)
- Subroutine(0x1c038)
- loop Infinite times:
- if (OnGround)
- BoolVariableSetFalse { variable: LongtermAccessBool (0x70) }
- BoolVariableSetFalse { variable: LongtermAccessBool (0x71) }
- BoolVariableSetFalse { variable: LongtermAccessBool (0x7a) }
- BoolVariableSetFalse { variable: LongtermAccessBool (0x7b) }
- 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
- if ((InternalConstantInt(CurrentAction) Equal scalar(12)))
- if (not(ThreadIsNull value(7)))
- RemoveIndependentSubroutine { thread_id: 7 }
- SetIndependentSubroutineThreadType { thread_id: 7, thread_type: 16 }
- IndependentSubroutine { thread_id: 7, script: 0x2b694 }
- else
- UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: LongtermAccess, data_type: Int, address: 98 }), Variable(Variable { memory_type: LongtermAccess, data_type: Int, address: 5 })] }