PM3.6 - 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. else
    1. if ((InternalConstantInt(CurrentFrame) GreaterThanOrEqual scalar(2)))
      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.09 }
      6. FloatVariableSet { variable: LongtermAccessFloat (0x38), value: InternalConstantInt(PreviousControlStickXAxisRelative) }
      7. FloatVariableMultiply { variable: LongtermAccessFloat (0x38), value: 0.09 }
      8. if ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThan scalar(1.15)))
        1. IfStatementOr ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(-1.15)))
        2. FloatVariableSet { variable: LongtermAccessFloat (0x38), value: 0 }
      9. if ((InternalConstantInt(VerticalCharacterVelocity) GreaterThan scalar(1.15)))
        1. IfStatementOr ((InternalConstantInt(VerticalCharacterVelocity) LessThan scalar(-1.15)))
        2. FloatVariableSet { variable: LongtermAccessFloat (0x37), value: 0 }
      10. AddVelocity { x_vel: Variable(LongtermAccessFloat(Address(56))), y_vel: Variable(LongtermAccessFloat(Address(55))) }
  3. if (IsFallingOrHitDown)
    1. IfStatementAnd (not(BoolIsTrue LongtermAccessInt (0x61)))
    2. BoolVariableSetTrue { variable: RandomAccessBool(EnableFastFall) }