P+ - Sonic - Common Subroutine 0x80546498
- FloatVariableSet { variable: LongtermAccessFloat(SpecialLandingLag), value: 10 }
- CreateInterrupt { interrupt_id: None, action: FallSpecial, requirement: (AnimationEnd) }
- CreateInterrupt { interrupt_id: None, action: LandingFallSpecial, requirement: (OnGround) }
- Subroutine(0x22770)
- FloatVariableMultiply { variable: LongtermAccessFloat (0x2c), value: InternalConstantInt(CharacterDirection) }
- FloatVariableMultiply { variable: LongtermAccessFloat (0x2c), value: 3.1 }
- FloatVariableMultiply { variable: LongtermAccessFloat (0x2d), value: 3.1 }
- ChangeSubactionRestartFrame(EscapeAir)
- SetAirGround(10)
- DisableMovement(DisableVertical)
- BoolVariableSetTrue { variable: LongtermAccessBool(CanNotTeeter) }
- loop 28 times:
- SetOrAddVelocity(SetOrAddVelocity { x_vel: 0.0, y_vel: 0.0, x_set: false, y_set: true })
- AddVelocity { x_vel: Variable(LongtermAccessFloat(Address(44))), y_vel: Variable(LongtermAccessFloat(Address(45))) }
- FloatVariableMultiply { variable: LongtermAccessFloat (0x2c), value: 0.9 }
- FloatVariableMultiply { variable: LongtermAccessFloat (0x2d), value: 0.9 }
- if (BoolIsTrue RandomAccessBool (0x1c))
- UnknownEvent { namespace: 0x0, code: 0x6, unk1: 0x0, arguments: [] }
- SyncWait(1.0)
- BoolVariableSetTrue { variable: RandomAccessBool (0x1c) }
- DisableMovement2(DisableVertical)
- SetAirGround(0)
- Return