P+ - Falco - Action - 0x113 SpecialS
Entry Script
- Subroutine(0x274dc)
- IntVariableSet { variable: RandomAccessInt(ThrowDataParam1), value: -1 }
- IntVariableSet { variable: RandomAccessInt (0x0), value: 0 }
- IntVariableSet { variable: RandomAccessInt (0x1), value: -1 }
- FloatVariableSet { variable: LongtermAccessFloat(SpecialLandingLag), value: InternalConstantInt (0x5dc3) }
- FloatVariableSet { variable: LongtermAccessFloat(SpecialFallMobilityMultiplier), value: InternalConstantInt (0xfae) }
- BoolVariableSetTrue { variable: LongtermAccessBool (0x3) }
- Posture(3)
- Posture(4)
- UnknownEvent { namespace: 0xc, code: 0x1, unk1: 0x0, arguments: [] }
- CallEveryFrame { thread_id: 9, script: 0x1b534 }
- loop Infinite times:
- if (OnGround)
- UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 })] }
- Case(0)
- SetAirGround(6)
- SetEdgeSlide(StayOn)
- UnknownEvent { namespace: 0xe, code: 0x2, unk1: 0x0, arguments: [] }
- if (BoolIsTrue RandomAccessBool(EnableActionTransition))
- ChangeSubaction(SpecialSStart)
- else
- ChangeSubactionRestartFrame(SpecialSStart)
- BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
- Case(1)
- SetAirGround(15)
- SetEdgeSlide(StayOn)
- UnknownEvent { namespace: 0xe, code: 0xa, unk1: 0x0, arguments: [Value(0)] }
- if (BoolIsTrue RandomAccessBool(EnableActionTransition))
- ChangeSubaction(SpecialS)
- else
- ChangeSubactionRestartFrame(SpecialS)
- BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: BoolIsTrue }, Variable(Variable { memory_type: RandomAccess, data_type: Bool, address: 17 })] }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
- Case(2)
- SetAirGround(6)
- SetEdgeSlide(Unknown(2))
- if (BoolIsTrue RandomAccessBool(EnableActionTransition))
- ChangeSubaction(SpecialSEnd)
- else
- ChangeSubactionRestartFrame(SpecialSEnd)
- BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
- CreateInterrupt { interrupt_id: None, action: FallSpecial, requirement: (InAir) }
- CreateInterrupt { interrupt_id: None, action: Wait, requirement: (AnimationEnd) }
- PreviousInterruptAddRequirement(OnGround)
- EndSwitch
- else
- SetEdgeSlide(Airbourne)
- UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 })] }
- Case(0)
- SetAirGround(10)
- if (BoolIsTrue RandomAccessBool(EnableActionTransition))
- ChangeSubaction(SpecialAirSStart)
- else
- ChangeSubactionRestartFrame(SpecialAirSStart)
- BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
- Case(1)
- SetAirGround(17)
- if (BoolIsTrue RandomAccessBool(EnableActionTransition))
- ChangeSubaction(SpecialAirS)
- else
- ChangeSubactionRestartFrame(SpecialAirS)
- BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: BoolIsTrue }, Variable(Variable { memory_type: RandomAccess, data_type: Bool, address: 17 })] }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
- UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
- UnknownEvent { namespace: 0x8, code: 0x2, unk1: 0x0, arguments: [Value(2)] }
- Case(2)
- SetAirGround(10)
- if (BoolIsTrue RandomAccessBool(EnableActionTransition))
- ChangeSubactionRestartFrame(SpecialAirSEnd)
- else
- ChangeSubactionRestartFrame(SpecialAirSEnd)
- BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
- CreateInterrupt { interrupt_id: None, action: FallSpecial, requirement: (AnimationEnd) }
- PreviousInterruptAddRequirement(InAir)
- CreateInterrupt { interrupt_id: None, action: LandingFallSpecial, requirement: (OnGround) }
- LedgeGrabEnable(EnableInFrontAndBehind)
- EndSwitch
- LoopRest
- if (AnimationEnd)
- if ((RandomAccessInt (0x0) LessThan scalar(2)))
- IntVariableIncrement { variable: RandomAccessInt (0x0) }
- BoolVariableSetFalse { variable: RandomAccessBool(EnableActionTransition) }
Exit Script
- if ((InternalConstantInt(CurrentAction) Equal scalar(16)))
- FloatVariableSet { variable: LongtermAccessFloat(SpecialLandingLag), value: 6.99 }
- IntVariableSet { variable: RandomAccessInt (0x2573), value: 0 }
- IntVariableSet { variable: RandomAccessInt (0x1d8a), value: 0 }