PM3.02 - Mewtwo - Subroutine - 0x2643c

  1. if (ButtonNotPressed value(2))
    1. IfStatementOr ((RandomAccessInt(ThrowDataParam1) LessThanOrEqual scalar(0)))
    2. DisableMovement2(DisableVertical)
    3. IntVariableSet { variable: RandomAccessInt(ThrowDataParam1), value: 0 }
    4. BoolVariableSetFalse { variable: LongtermAccessInt (0x61) }
    5. UnknownEvent { namespace: 0x11, code: 0x15, unk1: 0x0, arguments: [Value(118), Bool(false), Bool(true)] }
    6. SetAirGround(0)
    7. CreateInterrupt { interrupt_id: Some(10153), action: Fall, requirement: (AnimationEnd) }
    8. CreateInterrupt { interrupt_id: Some(10154), action: LandingHeavy, requirement: (OnGround) }
  2. if (IsFallingOrHitDown)
    1. IfStatementAnd (not(BoolIsTrue LongtermAccessInt (0x61)))
    2. BoolVariableSetTrue { variable: RandomAccessBool(EnableFastFall) }
  3. if ((InternalConstantInt(CurrentFrame) GreaterThanOrEqual scalar(2)))
    1. if ((RandomAccessInt(ThrowDataParam1) GreaterThan scalar(0)))
      1. IntVariableDecrement { variable: RandomAccessInt(ThrowDataParam1) }
    2. if ((InternalConstantInt(VerticalCharacterVelocity) GreaterThanOrEqual scalar(0.016)))
      1. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(-0.016) }
    3. if ((InternalConstantInt(VerticalCharacterVelocity) LessThanOrEqual scalar(-0.016)))
      1. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(0.016) }
    4. FloatVariableSet { variable: LongtermAccessFloat (0x37), value: InternalConstantInt(PreviousControlStickYAxis) }
    5. FloatVariableMultiply { variable: LongtermAccessFloat (0x37), value: 0.1125 }
    6. FloatVariableSet { variable: LongtermAccessFloat (0x38), value: InternalConstantInt(PreviousControlStickXAxisRelative) }
    7. FloatVariableMultiply { variable: LongtermAccessFloat (0x38), value: 0.1125 }
    8. if ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThan scalar(0.95)))
      1. IfStatementOr ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(-0.95)))
      2. FloatVariableSet { variable: LongtermAccessFloat (0x38), value: 0 }
    9. if ((InternalConstantInt(VerticalCharacterVelocity) GreaterThan scalar(0.95)))
      1. IfStatementOr ((InternalConstantInt(VerticalCharacterVelocity) LessThan scalar(-0.95)))
      2. FloatVariableSet { variable: LongtermAccessFloat (0x37), value: 0 }
    10. AddVelocity { x_vel: Variable(LongtermAccessFloat(Address(56))), y_vel: Variable(LongtermAccessFloat(Address(55))) }