P+ - Mario - Subroutine - 0x10d40

  1. if (OnGround)
    1. Subroutine(Wait1 Main 0xddd8)
    2. if (BoolIsTrue RandomAccessBool(SpecialsMovement))
      1. SetAirGround(0)
      2. if (ButtonPress value(1))
        1. SetEdgeSlide(Airbourne)
      3. else
        1. SetEdgeSlide(StayOn)
        2. ResetVerticalVelocityAndAcceleration(true)
        3. ResetVerticalVelocityAndAcceleration(false)
    3. else
      1. SetEdgeSlide(StayOn)
      2. SetAirGround(6)
  2. else
    1. if (InAir)
      1. SetEdgeSlide(Airbourne)
      2. if (BoolIsTrue RandomAccessBool(SpecialsMovement))
        1. SetAirGround(0)
      3. else
        1. SetAirGround(10)
  3. if (not(BoolIsTrue LongtermAccessBool (0x74)))
    1. IfStatementAnd (BoolIsTrue RandomAccessBool(SpecialsMovement))
    2. IfStatementAnd (ButtonPress value(1))
    3. IntVariableSet { variable: RandomAccessInt (0x8), value: 5 }
    4. FloatVariableSet { variable: RandomAccessFloat (0xa), value: InternalConstantInt(VerticalCharacterVelocity) }
    5. FloatVariableAdd { variable: RandomAccessFloat (0xa), value: 0.8 }
    6. if ((RandomAccessFloat (0xa) GreaterThan scalar(1)))
      1. FloatVariableSet { variable: RandomAccessFloat (0xa), value: 1 }
    7. FloatVariableSubtract { variable: RandomAccessFloat (0xa), value: InternalConstantInt(VerticalCharacterVelocity) }
    8. FloatVariableSet { variable: RandomAccessFloat (0xb), value: InternalConstantInt(HorizontalCharacterVelocity) }
    9. FloatVariableMultiply { variable: RandomAccessFloat (0xb), value: -0.3 }
    10. BoolVariableSetTrue { variable: LongtermAccessBool(CanNotTeeter) }
    11. AddVelocity { x_vel: Variable(RandomAccessFloat(Address(11))), y_vel: Variable(RandomAccessFloat(Address(10))) }
    12. BoolVariableSetFalse { variable: LongtermAccessBool(CanNotTeeter) }
    13. ExternalGraphicEffect(ExternalGraphicEffect { file: 0, graphic: 12, bone: 0, x_offset: 0.0, y_offset: 0.5, z_offset: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scale: 0.7, randomize: None, terminate_with_animation: true })
  4. if (not(BoolIsTrue RandomAccessBool(SpecialsMovement)))
    1. IntVariableSet { variable: RandomAccessInt (0x8), value: 0 }
  5. if ((RandomAccessInt (0x8) GreaterThan scalar(0)))
    1. FloatVariableSet { variable: RandomAccessFloat (0x3db), value: 0 }
    2. IntVariableDecrement { variable: RandomAccessInt (0x8) }
  6. else
    1. FloatVariableSet { variable: RandomAccessFloat (0x3db), value: -0.095 }