P+ - Snake - Action - 0x11f

Entry Script

  1. CreateInterrupt { interrupt_id: None, action: 0x120, requirement: (BoolIsTrue RandomAccessBool(EnableActionTransition)) }
  2. CreateInterrupt { interrupt_id: None, action: 0x121, requirement: (BoolIsTrue RandomAccessBool (0x11)) }
  3. CreateInterrupt { interrupt_id: None, action: 0x121, requirement: (ButtonPress value(3)) }
  4. FloatVariableSet { variable: RandomAccessFloat(EnableTurnWhenBelowZero), value: 0 }
  5. FloatVariableSet { variable: RandomAccessFloat (0x5), value: 0 }
  6. FloatVariableSet { variable: RandomAccessFloat (0x6), value: 0.5 }
  7. loop Infinite times:
    1. if (OnGround)
      1. Subroutine(0x19058)
      2. ChangeSubactionRestartFrame(SpecialSStart)
      3. UnknownEvent { namespace: 0x4, code: 0x6, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 1 })] }
      4. FrameSpeedModifier { multiplier: 0.0, unk: 0 }
      5. UnknownEvent { namespace: 0x4, code: 0xa, unk1: 0x0, arguments: [Value(495)] }
      6. UnknownEvent { namespace: 0x4, code: 0xb, unk1: 0x0, arguments: [Scalar(0.0)] }
      7. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
    2. else
      1. Subroutine(0x190b0)
      2. ChangeSubactionRestartFrame(SpecialAirSStart)
      3. UnknownEvent { namespace: 0x4, code: 0x6, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 1 })] }
      4. FrameSpeedModifier { multiplier: 0.0, unk: 0 }
      5. UnknownEvent { namespace: 0x4, code: 0xa, unk1: 0x0, arguments: [Value(491)] }
      6. UnknownEvent { namespace: 0x4, code: 0xb, unk1: 0x0, arguments: [Scalar(0.0)] }
      7. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
    3. LoopRest

Exit Script

  1. Subroutine(0x18f70)