PM3.02 - Fox - Action - 0x112 SpecialN
            Entry Script
            - BoolVariableSetFalse { variable: RandomAccessBool(EnableActionTransition) }
 - IntVariableSet { variable: RandomAccessInt (0x0), value: 0 }
 - IntVariableSet { variable: RandomAccessInt (0x1), value: -1 }
 - FloatVariableSet { variable: LongtermAccessFloat(SpecialLandingLag), value: InternalConstantInt (0x5dc0) }
 - CreateInterrupt { interrupt_id: None, action: Wait, requirement: (AnimationEnd) }
 - PreviousInterruptAddRequirement(OnGround)
 - if ((InternalConstantInt (0x5dc0) GreaterThan scalar(0))) 
- CreateInterrupt { interrupt_id: None, action: FallSpecial, requirement: (AnimationEnd) }
 - PreviousInterruptAddRequirement(InAir)
 - CreateInterrupt { interrupt_id: Some(10002), action: FallSpecial, requirement: (InAir) }
 - DisableInterrupt(10002)
 
 - else
- CreateInterrupt { interrupt_id: None, action: Fall, requirement: (AnimationEnd) }
 - PreviousInterruptAddRequirement(InAir)
 - CreateInterrupt { interrupt_id: Some(10002), action: Fall, requirement: (InAir) }
 - DisableInterrupt(10002)
 
 - CallEveryFrame { thread_id: 9, script: 0x1c670 }
 - loop Infinite times: 
- if (OnGround) 
- SetEdgeSlide(Unknown(2))
 - SetAirGround(6)
 - DisableInterruptGroup(AirLanding)
 - EnableInterrupt(10002)
 - UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 })] }
 - Case(0)
 - ChangeSubactionRestartFrame(SpecialNStart)
 - UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
 - Case(1)
 - ChangeSubactionRestartFrame(SpecialNLoop)
 - UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
 - Case(2)
 - ChangeSubactionRestartFrame(SpecialNEnd)
 - EndSwitch
 
 - else
- SetEdgeSlide(Airbourne)
 - SetAirGround(0)
 - EnableInterruptGroup(AirLanding)
 - DisableInterrupt(10002)
 - UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 })] }
 - Case(0)
 - ChangeSubactionRestartFrame(SpecialAirNStart)
 - UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
 - Case(1)
 - ChangeSubactionRestartFrame(SpecialAirNLoop)
 - UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
 - Case(2)
 - ChangeSubactionRestartFrame(SpecialAirNEnd)
 - EndSwitch
 
 - LoopRest
 - UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 })] }
 - Case(1)
 - if (AnimationEnd) 
- if (not(BoolIsTrue RandomAccessBool(SpecialsMovement))) 
- IntVariableSet { variable: RandomAccessInt (0x0), value: 2 }
 
 - else
- UnknownEvent { namespace: 0xc, code: 0x1c, unk1: 0x0, arguments: [Value(2), Value(19), Bool(true)] }
 
 - BoolVariableSetFalse { variable: RandomAccessBool(SpecialsMovement) }
 
 - UnknownEvent { namespace: 0x0, code: 0x12, unk1: 0x0, arguments: [] }
 - if (AnimationEnd) 
- IntVariableIncrement { variable: RandomAccessInt (0x0) }
 
 - EndSwitch
 
 
            Exit Script
            - if (ArticleExists value(0)) 
- ArticleAnimation(0)