PM3.6 - Sonic - Subroutine - 0x2c714

  1. if ((InternalConstantInt(PreviousAction) Equal scalar(292)))
    1. IfStatementAnd (InAir)
    2. if ((InternalConstantInt(HorizontalCharacterVelocity) Equal scalar(4.7)))
      1. IfStatementOr ((InternalConstantInt(HorizontalCharacterVelocity) Equal scalar(-4.7)))
      2. BoolVariableSetTrue { variable: RandomAccessBool (0xa) }
  2. if (BoolIsTrue RandomAccessBool (0xa))
    1. if ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThan scalar(0)))
      1. FloatVariableSet { variable: RandomAccessFloat (0x8), value: 3.5 }
    2. else
      1. if ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(0)))
        1. FloatVariableSet { variable: RandomAccessFloat (0x8), value: -3.5 }
    3. FloatVariableSet { variable: RandomAccessFloat (0x9), value: InternalConstantInt(VerticalCharacterVelocity) }
    4. BoolVariableSetTrue { variable: LongtermAccessBool(CanNotTeeter) }
    5. SetVelocity { x_vel: 0.0, y_vel: 0.0 }
    6. AddVelocity { x_vel: Variable(RandomAccessFloat(Address(8))), y_vel: Variable(RandomAccessFloat(Address(9))) }
    7. BoolVariableSetFalse { variable: LongtermAccessBool(CanNotTeeter) }
    8. BoolVariableSetFalse { variable: RandomAccessBool (0xa) }
  3. IntVariableDecrement { variable: RandomAccessInt(ThrowDataParam2) }
  4. IntVariableIncrement { variable: LongtermAccessInt (0x63) }